引用R列表中的第i列

时间:2018-10-23 13:23:45

标签: r

运行以下内容时:

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是什么?还是仅仅是初始数据框中“城市”列中元素的名称?

有人可以帮助我使此代码正常工作吗?

谢谢。

0 个答案:

没有答案