我是R的相对新手。我搜索了最后两个工作日,试图找出这个问题并且失败了。我有一个函数生成的因素列表。我有不同长度的列表中有9个项目。打印数据框列表
>summary(list_dataframes)
Length Class Mode
[1,] 1757 factor numeric
[2,] 1776 factor numeric
[3,] 1737 factor numeric
[4,] 1766 factor numeric
[5,] 1783 factor numeric
[6,] 1751 factor numeric
[7,] 1744 factor numeric
[8,] 1749 factor numeric
[9,] 1757 factor numeric
部分数据的样本,因为它出来:
list_dataframes
[[1]]
[1] 1776234_at 1779003_at 1776344_at 1777664_at 1772541_at 1774525_at
[[2]]
[1] 1771703_at 1776299_at 1772744_at 1780116_at 1775451_at 1778821_at
[7] 1774342_at
[[3]]
[1] 1780116_at 1776262_at 1775451_at 1780200_at 1775704_at
我不知道为什么它说的模式为 “数字”。单个条目是数字和字母组合,如“S35_at”。
我想把它变成一个由9列和1783行组成的表格,而不会产生重复的值。 (因此我尝试了使用do.call,但它没有奏效,最后我得到了一堆乱七八糟的东西)。较短的可以在空格中有NAs,或者是空白的。
我需要能够最终得到我可以放入电子表格的内容。
必须有一种方法来做到这一点。谢谢!
我想我应该加入它最初是作为数据框出来时,我有四列的数据,但我只需要一列的数据,当我创建此列表的功能创建只有一列我实际上它似乎不再是一个数据框。
dput(head(list_dataframes))
list(structure(c(3605L, 5065L, 3663L, 4349L, 1655L, 2700L, 5692L, plus many more
.Label = c("1769308_at",
"1769311_at", "1769312_at", "1769313_at", "1769314_at", "1769317_at", plus many more
this pattern is repeated nine more times
我所试图做的是产生一个表是这样的:
a= xyz,tuv,efg,hij,def
b= xyz,tuv,efg
c= tuv,efg,hij,def
我想提出的是一个表,它是
a b c
xyz xyz tuv
tuv tuv efg
efg efg hij
hij NA NA
NA NA NA
NA could be blank as well.
大量的阅读后列表中的手册部分我确定我已经生成了一份埋藏清单清单。它有九个项目,我想要埋入两层的数据,即看到它,我不得不使用[[1]]。另外,由于R中的某些内容导致单列数据帧成为一个因素,而不是保留数据帧,因此它变得更加复杂。为了解决它(有点)我在我的等式中增加了一个步骤,以便将该因素改为数据框。
之后,当我使用lapply生成我的结果时,至少因子问题已解决。然后,我可以使用以下步骤将数据帧拉出。
first <- list_dataframes[[1]]
second <- list_dataframes[[2]]
third <- list_dataframes[[3]]
fourth <- list_dataframes[[4]]
fifth <- list_dataframes[[5]]
sixth <- list_dataframes[[6]]
seventh <- list_dataframes[[7]]
eighth <- list_dataframes[[8]]
nineth <- list_dataframes[[9]]
all_results <- cbindX(first,second,third,fourth,fifth,sixth,seventh, eighth,nineth)
然后我可以使用write.csv编写csv文件并获得我以后的正确结果。所以我想我有我的答案。我的意思是现在它工作。
但是我仍然认为我错过了使这项工作达到最佳状态的东西,即使它现在给了我以后的正确结果。
也许发布一个可重现的例子,显示数据集的一个子集,可能有10-20行。 – 2013-03-15 19:09:49
该数据的重叠程度非常有限。您的初始描述表明高度重叠。谨慎澄清? – 2013-03-15 20:40:55
这是我正在研究的事物清单,这些清单具有一定的价值,使其具有重要意义。这些子集全部来自4500个相同的较大集合,并且它们之间有一些重叠但不是很多。 do.call中的重复问题是,我将在最终列集中有50或60个副本。我可以手动将它们从电子表格中删除,但这会挫败学习编程的重点。 – 2013-03-15 21:31:17