我輸入5個文本數據集到R中使用read.table。 每個數據集具有相同的列。 (100行50列)。 我想將所有五個表合併成一個表,這將是500行* 50列。 任何人都知道該怎麼做?R- Union將兩個或幾個表合併爲一個
回答
在基礎R,你可以做到以下幾點:
# Create some toy data first
nc <- 50
nr <- 1000
# Create five tables with nc columns and nr rows.
df1 <- as.data.frame(replicate(nc, rnorm(nr)))
df2 <- as.data.frame(replicate(nc, rnorm(nr)))
df3 <- as.data.frame(replicate(nc, rnorm(nr)))
df4 <- as.data.frame(replicate(nc, rnorm(nr)))
df5 <- as.data.frame(replicate(nc, rnorm(nr)))
# Join the tables
df <- rbind(df1, df2, df3, df4, df5)
dim(df)
#[1] 5000 50
這給你的5張桌子上相互堆疊的,如果這就是你要找的內容。如果不是,您應該提供一個最小的例子來說明您的問題。
謝謝。這是我正在尋找的。我是R新手。 – qqqwww
從包dplyr
:
install.packages('dplyr')
library(dplyr)
new_df <- bind_rows(table1, table2, table3, table4, table5)
這是怎麼回事? –
我也沒有看到任何錯誤。實際上'bind_rows'比'rbind'更有效率。 – Psidom
我也沒有看到問題,所以從這裏upvote。也許有人認爲它*過度殺傷*使用一個包來處理這樣一個簡單的問題。雖然速度更快(正如@Psidom指出的那樣),但數據大小非常小,以至於在實踐中(這可能並不重要)。 –
儘管對於這個特定問題無關緊要,但對不同的rbind方法進行比較可能仍然有幫助。這裏是來自base
,data.table
和dplyr
的三種rbind
方法的比較;
> dim(df)
[1] 16777216 2
> microbenchmark(rbind(df,df), rbindlist(list(df,df)), bind_rows(df,df), times = 10)
Unit: milliseconds
expr min lq mean median uq max neval cld
rbind(df, df) 3824.4208 4052.6405 4288.5569 4239.2416 4557.5736 4685.2155 10 c
rbindlist(list(df, df)) 272.5048 304.8365 348.0393 357.4388 390.7684 405.0778 10 a
bind_rows(df, df) 571.1732 596.2556 715.1572 643.8038 863.5805 927.0341 10 b
謝謝你,Psidom。 – qqqwww
- 1. 將兩個帶幾何列的表合併爲一個
- 2. 將兩個查詢合併爲一個而不使用UNION ALL
- 3. 如何在r中使用sql將兩個或多個表合併爲一個
- 4. 將兩個表合併爲一個
- 5. Mysql將兩個表合併爲一個
- 6. 將兩個表合併爲一個
- 7. 將兩個表合併爲一個
- 8. 將幾個圖像合併爲一個
- 9. 將幾個sql列合併爲一個
- 10. 將幾個grok合併爲一個
- 11. 使用UNION合併兩個表ALL
- 12. JPA將兩個或多個表合併到另一個表中
- 13. 將兩個幾乎相同的UNIONed查詢合併爲一個
- 14. RxJava2將兩個Flowables合併爲一個
- 15. 如何將兩個查詢(union all)合併爲一行?
- 16. 通過使用幾列作爲關鍵將兩個Excel表合併爲一個
- 17. 合併兩個表在一起在R
- 18. mysql將兩個或多個select合併到一個表中
- 19. 將兩個或多個C++命名空間合併爲一個
- 20. 合併兩個文件或兩個表
- 21. 將兩個查詢合併爲一個
- 22. 將兩個javascript合併爲一個foreach
- 23. 將兩個Artifactories合併爲一個
- 24. 將兩個查詢合併爲一個
- 25. 將這兩個xslts合併爲一個
- 26. 將兩個功能合併爲一個
- 27. 將兩個佈局合併爲一個
- 28. 將兩個數組合併爲一個
- 29. 將兩個字節合併爲一個
- 30. 將兩個查詢合併爲一個
看看'rbind()' – User7598
Fyi,那不是聯盟的含義。 – Frank
我嘗試了聯合,但它成爲一個大列表,不再是一張表。 – qqqwww