我是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