[R] write.table: strange output has been produced
Igor
igorc at essex.ac.uk
Wed Sep 19 18:12:45 CEST 2012
Good afternoon all -
While making a steady progress in learning R after Matlab I encountered
a problem which seems to require some extra help to move over.
Basically I want to merge a data from biological statistical dataset
with annotation data extracted from another dataset using an 'id'
crossreference and write it to report file. The first part goes
absolutely fine, I have merged both data into data.frame but when I try
to write it to csv file using 'write.table' it seems like it does write
the 'data.frame' object but it also insert some parts from the
annotation data which are not suppose to be there...
There is a little snapshot of the file output below to illustrate. The
upper half is fine, that's how it should be. The lower half, which is
actually appears to be space-separated, not coma, obviously grabbed from
the annotation dataset and is not supposed to be here.
--------------------------------8<--------------------------------------------
"344","166128",126.44286392082,179.904700814932,72.9810270267088,0.40566492535281,-1.3016395254146,2.47449355237252e-07,4.2901159299567e-06,"Chitinas
"18816","238247",92.5282508325735,135.981255262454,49.0752464026927,0.36089714209487,-1.47034037615176,2.5330054329543e-07,4.38862252337004e-06,"Prot
"22072","222365",30.8191942806426,52.4262903365628,9.21209822472236,0.17571524068522,-2.50868876576414,2.54433836512085e-07,4.40531098485028e-06,NA,N
"25062","226605",30.808007579908,50.3976662241578,11.2183489356581,0.22259659575825,-2.16749656564076,2.54934711860645e-07,4.41103467375713e-06,NA,NA
"7539","247009",75.4175439970731,34.4643221134552,116.370765880691,3.37655751642533,1.75555313265164,2.60010673210741e-07,4.49585878338091e-06,NA,NA,
"407","267139",425.559675915702,279.393013150954,571.72633868045,2.04631580522577,1.03302881149302,2.61074218843609e-07,4.51123710239304e-06,NA,NA,NA
"26530","171300",146.80096060985,80.0063286553601,213.595592564339,2.66973370924738,1.4166958484644,2.68061220749976e-07,4.62888115991058e-06,NA,NA,N
"3078","159013",34.3260176515511,52.4580790080106,16.1939562950917,0.308702808057816,-1.69570948866688,2.69104298652827e-07,4.64379716436078e-06,"40S
"4657","159998",133.10761487064,185.450704462326,80.7645252789532,0.435504009074069,-1.19924209513405,2.75544399955331e-07,4.75176501174632e-06,"IMP-
171597 171597 KOG1347 Uncharacterized membrane protein, predicted
efflux pump General function prediction only POORLY CHARACTERIZED
171658 171658 KOG4290 Predicted membrane protein Function unknown
POORLY CHARACTERIZED
171660 171660 KOG0903 Phosphatidylinositol 4-kinase, involved in
intracellular trafficking and secretion Signal transduction mechanisms
CELLULAR
171660 171660 KOG0903 Phosphatidylinositol 4-kinase, involved in
intracellular trafficking and secretion Intracellular trafficking,
secretion, and
171703 171703 KOG2674 Cysteine protease required for autophagy -
Apg4p/Aut2p Cytoskeleton CELLULAR PROCESSES AND SIGNALING
171703 171703 KOG2674 Cysteine protease required for autophagy -
Apg4p/Aut2p Intracellular trafficking, secretion, and vesicular
transport CELLU
and metabolism METABOLISM
--------------------------------8<--------------------------------------------
And this is a piece of code that produced this:
--------------------------------8<--------------------------------------------
>n = nrow(statdata)
>extra = data.frame(kogdefline=rep(NA,n), kogClass = rep(NA,n), kogGroup
= rep(NA,n))
>subset = intersect(statdata$id, annot$id)
>MR = match(subset, annot$id)
>ML = match(subset, statdata$id)
>extra[ML,1] = as.character(annot[MR,2])
>extra[ML,2] = as.character(annot[MR,3])
>extra[ML,3] = as.character(annot[MR,4])
# strangely, if I do
# extra[ML,] = as.character(annot[MR,2:4])
# it produces digits (???) instead of a string value
>mergedData = data.frame(statdata, extra)
>write.table(mergedData, 'filename.csv', sep=',')
--------------------------------8<--------------------------------------------
Any ideas why this is happening?
Many thanks
-Igor
More information about the R-help
mailing list