我有一個包含多個子檔案夾的檔案夾。
每個子檔案夾都有一個以 chance_day_speed 結尾的 csv 檔案,并且還有一個附加到檔案名的主題?? ID。例如 181523_chance_day_speed ... 所以主題 ID 是 181523
- 我想提取每個子檔案夾中以“chance_day_speed”結尾的所有檔案,將提取的檔案名中的 subject_id (181523) 附加到我從中提取檔案名的記錄中,然后從所有提取的 csv 檔案中制作一個主檔案。
我怎么能在 R 中做到這一點?
謝謝
uj5u.com熱心網友回復:
在 R 中,以下可能會讀取資料,創建一個新列subject_id,然后將所有資料放在一個名為 的 data.frame 中master。未經測驗,因為沒有資料。
file_pattern <- "chance_day_speed\\.csv$"
fls <- list.files(pattern = file_pattern)
df_list <- lapply(fls, \(f) {
df <- read.csv(f)
df$subject_id <- sub("^(\\d )_.*$", "\\1", f)
df
})
master <- do.call(rbind, df_list)
要將 data.frame 寫入master檔案,請參閱write.csv.
編輯
要在名稱中包含具有其他模式的檔案,請使用交替運算子|。下面的第一行僅捕獲"plasma"名稱中帶有的 CSV 檔案,第二行包含原始問題中的檔案和帶有"plasma".
#file_pattern <- "plasma.*\\.csv"
file_pattern <- "chance_day_speed\\.csv$|plasma.*\\.csv"
fls <- list.files(pattern = file_pattern )
df_list <- lapply(fls, \(f, id) {
df <- read.csv(f)
df$subject_id <- sub("^(\\d )_.*$", "\\1", f)
df
})
master <- do.call(rbind, df_list)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/510405.html
標籤:Pythonr循环
上一篇:撰寫此回圈問題的正確方法是什么?
下一篇:在C中用換行符讀取標準輸入
