【发布时间】:2020-01-29 23:49:34
【问题描述】:
我有一个名为 list_of_sheets 的 2 个数据框列表。这些数据框是来自具有相同列名的 Excel 工作表的数据。以下是相关列的快照。
List of 2
$ :Classes ‘tbl_df’, ‘tbl’ and 'data.frame': 242 obs. of 43 variables:
..$ Market Section : num [1:242] 559286 559287 559286 559287 559287 ...
..$ Market Section Name: chr [1:242] "DOMESTIC BULK CUSTOMER MARKET SECTION" "INTERNATIONAL BULK MARKET SECTION" "DOMESTIC BULK CUSTOMER MARKET SECTION" "INTERNATIONAL BULK MARKET SECTION" ...
..$ JDE Branch Plant : chr [1:242] "PBK0100" "PBK0200" "PBK0200" "PNR0100" ...
..$ Short Item Code : num [1:242] 2085010 1782171 1782059 1823261 1934471 ...
..$ Long Item Code : chr [1:242] "016144" "637524" "554326" "149226" ...
我正在尝试创建一个键列,该列将是 JDE 分厂、长项目代码和市场部分列的串联。
以下是我尝试过的一些方法。我是 R 的初学者,我对使用 apply() 函数和使用列表的知识有限,因此我感谢提供的任何帮助。我想对于那些有更多经验的人来说,我犯了一个明显的错误。
list_of_sheets <- mapply(cbind, list_of_sheets, "Key" = paste0(`JDE Branch Plant`, `Long Item Code`, `Market Section`))
for (i in seq_along(list_of_sheets)) {
list_of_sheets[[i]]$Key <- paste0(`JDE Branch Plant`, `Long Item Code`, `Market Section`)
}
对于这两个,我得到以下错误。
Error in paste0(`JDE Branch Plant`, `Long Item Code`, `Market Section`) :
object 'JDE Branch Plant' not found
我相信也可能有 purrr 解决方案,但我对包了解不多。 如果有人推荐资源来深入理解 R 中的 apply 和 purrr 函数,我也将不胜感激。
【问题讨论】:
标签: r for-loop lapply purrr mapply