У меня есть большой набор данных, который зажимает split()
в R. Я могу использовать dplyr
group_by (что является предпочтительным способом в любом случае), но я не могу сохранить полученный grouped_df
как список кадров данных, формат, необходимый для моих последовательных этапов обработки (мне нужно принуждать к SpatialDataFrames
и тому подобное).
рассмотрим образец данных:
df = as.data.frame(cbind(c("a","a","b","b","c"),c(1,2,3,4,5), c(2,3,4,2,2)))
listDf = split(df,df$V1)
возвращает
$a
V1 V2 V3
1 a 1 2
2 a 2 3
$b
V1 V2 V3
3 b 3 4
4 b 4 2
$c
V1 V2 V3
5 c 5 2
Я хотел бы подражать этому с помощью group_by
(что-то вроде group_by(df,V1)
), но это возвращает один, grouped_df
. Я знаю, что do
должен мне помочь, но я не уверен в использовании (см. Также для обсуждения.)
Обратите внимание, что разделение имен каждого списка по имени фактора, который использовался для создания этой группы, - это желаемая функция (в конечном счете, бонусная награда за способ извлечения этих имен из списка dfs).