【发布时间】:2022-02-09 05:42:35
【问题描述】:
我正在创建一个巨大的数据框,其中包含来自多个 .csv 文件的数据,这些文件具有每天不同颜色的价格。
我想添加一列,其中包含创建每个数据框的 .csv 文件的名称。所以例如。如果文件名为“GRAY.csv”,我希望生成的数据框添加一个新列“名称”,每个观察值都是“灰色”。
为了创建数据框,我使用了 purrr 包中的 map_df() 函数。
data_folder <- "data"
csv_files <- dir(data_folder, pattern = "[A-Z]\\.csv")
df <- csv_files %>%
map_df(~ read_csv(file.path(data_folder, .)))
我得到了什么
df
## # A tibble: 3,175 × 2
## date price
## <date> <dbl>
## 1 2010-01-04 7.64
## 2 2010-01-05 7.66
## 3 2010-01-06 7.53
## 4 2010-01-07 7.52
## 5 2010-01-04 10.57
## 6 2010-01-05 10.50
## 7 2010-01-06 10.42
## 8 2010-01-07 10.52
## 9 2010-01-04 6.48
## 10 2010-01-05 6.35
## # … with 3,165 more rows
我想要什么
df
## # A tibble: 3,175 × 3
## date price name
## <date> <dbl> <chr>
## 1 2010-01-04 7.64 GRAY
## 2 2010-01-05 7.66 GRAY
## 3 2010-01-06 7.53 GRAY
## 4 2010-01-07 7.52 GRAY
## 5 2010-01-04 10.57 BLUE
## 6 2010-01-05 10.50 BLUE
## 7 2010-01-06 10.42 BLUE
## 8 2010-01-07 10.52 BLUE
## 9 2010-01-04 6.48 RED
## 10 2010-01-05 6.35 RED
## # … with 3,165 more rows
如何添加此名称列?
【问题讨论】: