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

通过匹配Dataframe中可用的名称,从文件夹中导入多个CSV文件,r,rstudio,R,Rstudio,我有一个名为Names_和_Nicks的数据帧,我需要使用唯一的名称昵称并根据该昵称读取所有三个参数名称。然后在文件夹中匹配这些参数名称,并在RStudio中加载这些.csv文件。 我的数据框架如下: 在文件夹中,我的文件如下所示: 因此,任何建议和帮助都将非常有用。您可以在昵称上拆分数据帧,这将生成一个数据帧列表,每个数据帧对应与单个昵称关联的文件。然后,您可以迭代每个这样的数据帧并生成单个数据帧,该数据帧是该昵称的所有文件的集合。大概是这样的: read_and_combine <-

我有一个名为Names_和_Nicks的数据帧,我需要使用唯一的名称昵称并根据该昵称读取所有三个参数名称。然后在文件夹中匹配这些参数名称,并在RStudio中加载这些.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_组合应为数据帧列表,每个数据帧包含与单个昵称对应的所有文件的行。

按昵称拆分数据帧,然后将每个昵称的所有三个文件聚合到一个数据框中输出。如何通过匹配数据框中可用的文件名从文件夹中读取文件这是我不知道的。您能用2,3行脚本更新我以执行此操作吗@Tim。您实际希望的输出是什么?每个昵称对应一个CSV文件,或者其他什么?正如您在我的数据框中看到的,每个昵称对应3个.CSV文件201520162017。我想通过索引nick_名称列表,通过匹配nick_名称与参数名称,将每个nick_名称的所有可用文件加载到RStudio中。参数名称是csv文件名称加载到RStudio是一个相当模糊的术语。下面我的答案是将共享一个通用昵称的文件加载到单独的数据帧中。也许这就足够满足您的需要了。df_list属于list类型,函数不接受它。nrowdf_list返回null为什么在列表中使用nrow?列表没有行。你有没有试过我的密码,或者你把它弄乱了?没有,我用的是你的密码,但是花了很多时间,所以我试了别的,我知道列表没有任何nrow。。现在在小数据集上测试您的一个