r - 从 R 工作目录中的所有 csv 中提取特定列(按名称)

标签 r

我正在创建一个脚本,需要读取工作目录中的所有 csv 文件,然后从“item_number”和“sale_price”列中提取所有值,并将这些值全部放入一个数据帧中。我目前正在使用下面的内容来读取所有 csv。

temp = list.files(pattern="*.csv")
for (i in 1:length(temp)) assign(temp[i], read.csv(temp[i]))

我遇到的问题是,每次运行此代码时,我在 R 中的数据都会得到不同的名称(因为工作目录不断更新为不同的 csv)。那么,如何从已读入的所有 csv 中提取上述变量中​​的数据,而无需专门按名称调用它们呢?

请注意,这是在 R 中的全新环境中完成的,因此如果有任何方法可以读取所有对象并提取这些列,那么我认为这会起作用吗?

提前致谢, 丹

最佳答案

我建议不要使用分配。这将创建一个包含两列和 csv 中的所有数据的数据框。我猜测了初始化数据框的数据类型。

temp <- list.files(pattern="*.csv")
df <- data.frame(item_number=numeric(0), sale_price=numeric(0))
for (i in 1:length(temp)) {
     tmp <- read.csv(temp[i])
     df <- rbind(df, tmp[, c("item_number", "sale_price")]
}

关于r - 从 R 工作目录中的所有 csv 中提取特定列(按名称),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49556578/

相关文章:

r - 如何在没有模型对象的情况下根据 ns 样条参数进行预测

r - 在 R 泊松回归中使用 CARET 和 GAM ("gamSpline"方法)

r - 为什么在 tidyr::pivot_wider 中尝试使用 names_glue 时出现错误?

r - data.table:索引的子集

R 数据框上的 Shiny 过滤器

R 语言函数工厂 : How to ensure safety?

r - 根据其他变量中的条件值,通过一个变量对 data.table 进行子集化

r - R中的函数内部函数

jquery - R Shiny - 在shinyjs::toggleState中使用JQuery选择器禁用动态创建的按钮

r - R中不同类型的函数之间的差异