При выполнении следующего:
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) Создает фрейм данных.(Матрица 5x3 с идентификатором, City и Qty в качестве отдельных столбцов).
2) Создает пустой список.
3) Для каждого города в уникальном списке городов создайте кадр данных с помощьювзять исходный фрейм данных и «отфильтровать» его по каждому уникальному городу, а затем экспортировать его как CSV.
Что я не понимаю, зачем мне нужна переменная i
, так как всписок каждый раз (исходный кадр данных фильтруется по уникальному городу).
Кроме того, когда он говорит for (city in unique(dataframe_temp$City))
как он узнает, что такое city
?Или это просто имя для элементов в столбце Город в начальном фрейме данных?
Кто-нибудь может мне помочь, чтобы этот код работал?
Спасибо.