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中的迴圈多圖處理技巧
- R語言批量建立資料框R語言
- 迴圈中的非同步&&迴圈中的閉包非同步
- MyBatis中批量插入資料,多重forEach迴圈MyBatis
- 在 JavaScript 中優雅的提取迴圈內的資料JavaScript
- 北京Y公司精益生產資料框KPI介紹KPI
- Render函式進階: 實現資料迴圈, 或者顯示下拉框函式
- matlab 迴圈中使用的儲存資料方法 #更新中Matlab
- table 設定合併邊框
- 合併資產負債表
- 基本資料型別,for迴圈資料型別
- 使用SQL語句將資料庫中的兩個表合併成一張表SQL資料庫
- 高併發下如何避免產生重複資料?
- R產生隨機數隨機
- 理解 JavaScript 中的迴圈JavaScript
- Node中的事件迴圈事件
- Go 1.22 中的 For 迴圈Go
- JavaScript中的while迴圈JavaScriptWhile
- Redis 中的事件迴圈Redis事件
- 儲存過程迴光返照?SQLite邏輯和資料合併儲存過程SQLite
- win10如何將磁碟合併 win10將磁碟合併的方法Win10
- java List中相同的資料合併到一起Java
- mysqldump同步生產到生產資料MySql
- R語言中na.omit函式的應用 以及 在資料框中的應用R語言MIT函式
- vue中使用Checkbox 多選框迴圈遍歷Vue
- java中如何將巢狀迴圈效能提高500倍Java巢狀
- C#程式設計基礎第七課:C#中的基本迴圈語句:while迴圈、do-while迴圈、for迴圈、foreach迴圈的使用C#程式設計While
- scss中迴圈之@for迴圈佈局畫圓CSS
- vue 如何在迴圈中 "監聽" 的繫結v-model資料Vue
- 資料型別——集合與while迴圈資料型別While
- Kotlin 中的迴圈全解Kotlin
- go 中的迴圈依賴Go
- Spring中的迴圈依賴Spring
- 迴圈高階綜合練習
- pandas 兩列資料合併
- 社交網路分析的 R 基礎:(四)迴圈與並行並行
- 生產資料庫、開發資料庫、測試資料庫中的資料的區分資料庫
- 第十九節:Java基本資料型別,迴圈結構與分支迴圈Java資料型別