通过匹配Dataframe中可用的名称从文件夹导入多个CSV文件

时间:2017-08-30 13:24:21

标签: r rstudio

我有一个名为“Names_and_Nicks”的数据框,我需要使用唯一名称NickName并读取针对该NickName的所有三个Param名称。然后匹配文件夹中的那些Param名称并在RStudio中加载这些.csv文件。 我的DataFrame如下:

enter image description here

我的文件在文件夹中看起来像这样: enter image description here

所以任何建议和帮助都会很棒。

1 个答案:

答案 0 :(得分:1)

您可以在昵称上拆分数据框,这将生成数据框列表,每个数据框对应与单个昵称关联的文件。然后,您可以迭代每个这样的数据帧并生成单个数据帧,该数据帧是该昵称的所有文件的聚合。像这样:

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应该是一个数据框列表,每个数据框都包含与单个昵称对应的所有文件的行。