R中將迴圈產生的資料框合併
1.問題
今天利用R寫迴圈的時候出現了一個問題,迴圈內會產生多個資料框,希望將這多個資料庫合併並生產一個最終的資料框,最後利用了list和do.call()功能進行了實現。
2.解決
例如假設我們有如下三個資料框
df1 <- data.frame(cell=c(1,2,3),val=c(345,123,466))
df2 <- data.frame(cell=c(67,3,2),val=c(234,234,56))
df3 <- data.frame(cell=c(3,67,23),val=c(23,8,34))
現在我們希望將這三個資料框進行合併:
首先建立一個空list,利用get()將所有資料框寫入,形成一個2維的list,然後利用do.call()進行合併。
l <- list()
for(i in 1:3){
df.now <- get(paste0("df",i))
l[[i]] <- df.now
}
do.call(rbind,l)
經過評論提醒,還有一種方法可能會顯得更加易於理解些,即先形成一個空的data.frame,然後直接利用rbind將變數資料框合併到最終的資料框中。
l <- data.frame()
for(i in 1:3){
df.now <- get(paste0("df",i))
l <- rbind(l, df.now)
}
兩種方法最後得到的結果都是:
cell val
1 1 345
2 2 123
3 3 466
4 67 234
5 3 234
6 2 56
7 3 23
8 67 8
9 23 34
3.總結
這雖然是個小的track,但是在資料處理的時候有時會顯得非常有用。
相關文章
- R中的迴圈多圖處理技巧
- 瞭解巢狀迴圈聯接、合併聯接巢狀
- mysql將多行資料合併或按組合並MySql
- 迴圈中的非同步&&迴圈中的閉包非同步
- 在 JavaScript 中優雅的提取迴圈內的資料JavaScript
- 北京Y公司精益生產資料框KPI介紹KPI
- 每秒迴圈插入資料
- R語言批量建立資料框R語言
- 高併發下如何避免產生重複資料?
- MyBatis中批量插入資料,多重forEach迴圈MyBatis
- mysqldump同步生產到生產資料MySql
- Render函式進階: 實現資料迴圈, 或者顯示下拉框函式
- 基本資料型別,for迴圈資料型別
- R語言資料探勘中的,“迴歸分析”是如何操作的?R語言
- R產生隨機數隨機
- table 設定合併邊框
- 使用SQL語句將資料庫中的兩個表合併成一張表SQL資料庫
- matlab 迴圈中使用的儲存資料方法 #更新中Matlab
- R語言中的迴圈函式(Grouping Function)R語言函式Function
- JavaScript中的while迴圈JavaScriptWhile
- 理解 JavaScript 中的迴圈JavaScript
- Redis 中的事件迴圈Redis事件
- Node中的事件迴圈事件
- JavaScript的map迴圈、forEach迴圈、filter迴圈、reduce迴圈、reduceRight迴圈JavaScriptFilter
- 利用trcsess合併以共享模式連線的session所產生的tracefile!模式Session
- java List中相同的資料合併到一起Java
- merge into合併資料
- scss中迴圈之@for迴圈佈局畫圓CSS
- matlab之在迴圈中修改迴圈變數Matlab變數
- PLSQL Language Referenc-PL/SQL控制語句-迴圈語句-FOR迴圈-FOR迴圈中的索引SQL索引
- win10如何將磁碟合併 win10將磁碟合併的方法Win10
- java中如何將巢狀迴圈效能提高500倍Java巢狀
- 使用RMAN將生產庫資料恢復到另外環境追溯先前的資料資料恢復
- go 中的迴圈依賴Go
- Go 1.22 中的 For 迴圈Go
- mysql 中 while 迴圈的用法。MySqlWhile
- Javascript中的迴圈優化JavaScript優化
- 生產資料庫、開發資料庫、測試資料庫中的資料的區分資料庫