运行以下内容时:
dataframe_temp = data.frame(ID = c(1, 1, 2, 3, 3),
City = c("a", "a", "b", "c", "c"),
Qty = c(20, 14, 40, 50, 60))
dataframe.list <- list()
# avoid hardcoded numbers as ", 2" as theses can
# change in the future, after e.g. an expansion of the dataframe!
for (city in unique(dataframe_temp$City)) {
print(city)
dataframe.list[[i]] = subset(dataframe_temp, City == city)
# use your folder location instead of "~/"
write.csv(x = dataframe.list[[i]], file = paste0("~/", "dataframe_for_city_", city,".csv"))
}
我收到以下错误
Error in i : object 'i' not found
据我所知,代码执行以下操作:
1)创建一个数据框。 (将ID,城市和数量作为单独的列的5x3矩阵)。
2)创建一个空白列表。
3)对于唯一城市列表中的每个城市,通过获取原始数据框并根据每个唯一城市“过滤”该数据框,然后将其导出为csv来制作数据框。
我不明白为什么需要变量i
,因为每次列表中只有一个元素(初始数据帧在唯一的城市中过滤)。
当它说for (city in unique(dataframe_temp$City))
时,怎么知道city
是什么?还是仅仅是初始数据框中“城市”列中元素的名称?
有人可以帮助我使此代码正常工作吗?
谢谢。