【发布时间】:2014-11-25 08:19:15
【问题描述】:
我有一个包含 3 个数据框的列表 (lst),每个数据框都包含列 (GDP) 和一个数组 (国家 >) 带有 3 个国家(ARG、IT、US)的名称,如下所示:
lst <- list(data.frame(GDP=101:104), data.frame(GDP=1001:1003), data.frame(GDP=500:505));
countries <- array(c("ARG", "IT", "US"));
我想创建一个名为 country 的新变量以合并到列表中,以便数组 (ARG, IT, US) 中的值“匹配”到列表中的每个数据框。
到目前为止,我遵循的 3 个步骤是:
- 重命名 lst 中包含的数据框:
名称(lst)
- 使用 lapply 循环并分配国家名称的函数:
国家变量
- 使用 lapply 循环生成函数 countryvar:
lst
我的方法肯定行不通,因为新变量 country 由 NA 填充,如运行以下命令时所示:
str(lst);
我想我可能没有正确索引数组中包含的值?
谁能提供一种有效的方法来解决这个问题(最好使用 lapply)?
【问题讨论】:
-
你在做类似
setNames(lst, countries)的事情吗?如果您显示了预期的结果,这将有所帮助 -
@Richard Scriven,您使用 Map 的解决方案非常完美!非常感谢!
-
@akrun 我很抱歉!我对stackoverflow还很陌生,我什至没有看到你的答案。非常感谢您的帮助和让我知道!