我有一個名爲「Names_and_Nicks」的數據框,我需要使用唯一的名稱NickName並讀取與該NickName相對應的所有三個參數名稱。然後在文件夾中匹配這些參數名稱並在RStudio中加載這些.csv文件。 我的數據框如下:通過匹配Dataframe中的可用名稱從文件夾導入多個CSV文件
因此,任何建議和幫助將是巨大的。
我有一個名爲「Names_and_Nicks」的數據框,我需要使用唯一的名稱NickName並讀取與該NickName相對應的所有三個參數名稱。然後在文件夾中匹配這些參數名稱並在RStudio中加載這些.csv文件。 我的數據框如下:通過匹配Dataframe中的可用名稱從文件夾導入多個CSV文件
因此,任何建議和幫助將是巨大的。
您可以在暱稱上分割數據框,這會生成一個數據框列表,每個數據框對應與單個暱稱關聯的文件。然後,您可以遍歷每個這樣的數據框並生成一個單一的數據框,該數據框是該暱稱的所有文件的集合。事情是這樣的:
read_and_combine <- function(x) {
result <- NULL
for (i in 1:nrow(x)) {
new_df <- read.csv(file=x$ParamName[i], header=TRUE, sep=",")
if (is.null(result)) {
result <- new_df
}
else {
result <- rbind(result, new_df)
}
}
return(result)
}
df_list <- split(Names_and_Nicks, Names_and_Nicks$NickName)
df_combined <- lapply(df_list, read_and_combine)
此時df_combined
應該是dataframes的列表,每個都包含了所有對應一個暱稱文件行。
df_list是類型列表,函數不接受它。 nrow(df_list)返回NULL –
你爲什麼要在列表中使用'nrow'?列表沒有行。你是否嘗試過我的_exact_代碼,或者你是否惹過它? –
nope,我正好使用你的一個,但它需要很多時間,所以我嘗試了其他的東西,雅我知道列表沒有任何nrow ..現在測試你的一個小數據集 –
按暱稱拆分數據幀,然後將每個暱稱的所有三個文件合併到一個數據框中輸出。 –
如何通過匹配數據框中可用的文件名來讀取文件夾中的文件,這是我不知道的。你能否用2,3行腳本更新我來執行這個操作@Tim。 –
這裏你的實際期望輸出是什麼?每個暱稱有一個CSV文件,還是其他的? –