更改数据帧内数据帧的名称

时间:2021-06-11 19:57:27

标签: r dataframe csv

我正在处理一个包含 csv 文件的文件夹。这些文件是使用以下代码导入的:


data_frame <- list.files("path", pattern = ".csv", all.files = TRUE, full.names = TRUE)

csv_data <- lapply(data_frame, read.csv)

names(csv_data) <- gsub(".csv","", 
                        list.files("path", pattern = ".csv", all.files = TRUE, full.names = FALSE),
                        fixed = TRUE)

生成后,数据框保存 csv 的名称。由于我有 3000 多个 csv 文件,我想知道如何更改它们的名称以更好地跟踪它们。

例如,它会生成“City-State-US”,而不是“City, State, US”。

如果有人问过这个问题,我深表歉意,但我找不到任何可以帮助的东西。

1 个答案:

答案 0 :(得分:0)

因此,如果我正确理解您的问题,您有 CSV 文件名称“城市、州、US.csv”(即“芝加哥、伊利诺伊州、USA.csv”等),您正在将它们读入 R 和将它们存储在一个列表中,其中列表元素名称是 CSV 名称,并且您想对该元素名称进行一些更改?

您可以使用 names(csv_data) 访问列表项的名称,就像上面所做的那样,然后按照您的喜好处理它并将其写回相同的内容。

例如,你给出的例子:

names(csv_data) <- gsub(", ", "-", names(csv_data), fixed = TRUE)

这应该可以满足您的需求。如果您需要做其他事情,只需将 gsub 参数或函数更改为其他内容 - 关键是您可以一次性提取并写回列表项名称。

您已经在为项目命名的第三行中这样做了 - 您甚至可以在分配名称之前进行处理。

编辑:另外,请注意:您已经将 list.files 的输出存储在 data_frame 变量中 - 您可以在第三行中重用该变量,而不是再次调用 list.files。

相关问题