help with transpose
1
0
Entering edit mode
@alberto-goldoni-711
Last seen 10.3 years ago
An embedded and charset-unspecified text was scrubbed... Name: not available Url: https://stat.ethz.ch/pipermail/bioconductor/attachments/20051018/ 22396780/attachment.pl
• 474 views
ADD COMMENT
0
Entering edit mode
@sean-davis-490
Last seen 4 months ago
United States
On 10/18/05 7:06 AM, "Alberto Goldoni" <alberto.goldoni at="" eurogene.org=""> wrote: > Dear friends, > > I have a problem: > > When I read a file with: > > tmp <- read.table("tottimecourseR.txt", sep="\t", header=F, > na.strings = "") > > all work fine: > > names(tmp) > [1] "V1" "V2" "V3" "V4" "V5" "V6" "V7" "V8" "V9" > "V10" "V11" "V12" "V13" "V14" "V15" "V16" "V17" "V18" "V19" > "V20" "V21" > > tmp[5,1:10] > V1 V2 V3 V4 V5 V6 V7 V8 V9 V10 > 5 1.11 0.81 0.94 0.87 0.75 0.62 1.19 0.48 0.76 0.76 > > > but if I make the transposition of tmp: > > tmp.t<-t(tmp) > > I obtain the numbers with "": > > 1 2 3 4 5 6 7 8 9 > 10 11 12 13 > " 7.25" " 0.30" "-0.20" " 0.82" " 1.11" " 1.81" "-0.12" "-2.22" " 1.51" > " 1.11" " 4.15" " 3.84" " 1.66" Why the "" around numbers? Read.table produces a data.frame, which is NOT the same as a matrix. In particular, data.frames can hold mixtures of different data types (like character and numeric, for example). Matrices, on the other hand, can hold only one data type. Why does this matter? Because from the help for t(), you can see that whatever is passed to t() is first coerced to a matrix. If there are mixed types in the original data.frame, tmp, then these data will all be coerced to the same type on conversion to matrix; it looks like all the data were coerced to type character. If you are going to do the transpose, you will need to make it into a data.frame after the transpose, or transpose only the numeric part of the original data.frame. > and >> names(tmp.t) > NULL > > How can do to obtain: > >> names(tmp.t) > "gene1" "gene2" "gene3" "geneN" As far as I can see, you will need to assign the names yourself. See ?colnames for how to do this. But something like: colnames(tmp.t) <- genenames where genenames contains all of the genenames. Hope this helps. Sean
ADD COMMENT

Login before adding your answer.

Traffic: 823 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6