我的数据集的格式很长,列中包含国家/地区名称,年份和值。
我想要每个国家/地区和每年的新数据集,我可以分别进行,但是重复195并不好,所以我想使用“ for”
这适用于特定国家/地区
Mali = filter(datosUnicef , CountryName == "Mali")
但这似乎不起作用
for (i in datosUnicef$CountryName) {
i = filter(datosUnicef , CountryName == i)
}
我如何使它工作?
答案 0 :(得分:0)
如果打算创建多个数据集,请使用group_split
将数据拆分为list
s的data.frame
library(dplyr)
lst1 <- datosUnicef %>%
group_split(CountryName)
并使用list
或[[
从$
提取数据
注意:最好不要在全局环境中创建多个对象。而是创建一个list
关于OP代码中的问题,它在每次迭代中都分配给字母i
,因此会对其进行更新。相反,选项为assign
(虽然不建议)
for(i in unique(datosUnicef$CountryName)) {
assign(i, filter(datosUnicef, CountryName == i))
}