相关疑难解决方法(0)

使用dplyr group_by模拟split():返回数据帧列表

我有一个split()在R 中窒息的大型数据集.我能够使用dplyrgroup_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)
Run Code Online (Sandbox Code Playgroud)

回报

$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
Run Code Online (Sandbox Code Playgroud)

我想用group_by(类似的东西group_by(df,V1))来模仿这个,但这会返回一个,grouped_df.我知道do应该可以帮助我,但我不确定使用情况(另见讨论链接.)

请注意,每个列表的拆分名称都是用于建立此组的因子的名称 - 这是一个所需的功能(最终,这是从dfs列表中提取这些名称的方法的奖励).

split r list dplyr

23
推荐指数
6
解决办法
2万
查看次数

如何在 dplyr 中命名 group_split 输出的列表

我有以下使用dplyr 的 group_split 的过程

library(tidyverse)
set.seed(1)
iris %>% sample_n(size = 5) %>% 
    group_by(Species) %>% 
    group_split()
Run Code Online (Sandbox Code Playgroud)

结果是:

[[1]]
# A tibble: 2 x 5
  Sepal.Length Sepal.Width Petal.Length Petal.Width Species
         <dbl>       <dbl>        <dbl>       <dbl> <fct>  
1          5           3.5          1.6         0.6 setosa 
2          5.1         3.8          1.5         0.3 setosa 

[[2]]
# A tibble: 2 x 5
  Sepal.Length Sepal.Width Petal.Length Petal.Width Species   
         <dbl>       <dbl>        <dbl>       <dbl> <fct>     
1          5.9         3            4.2         1.5 versicolor
2          6.2         2.2          4.5         1.5 versicolor

[[3]]
# A tibble: …
Run Code Online (Sandbox Code Playgroud)

split r dplyr tidyverse tidytable

8
推荐指数
5
解决办法
3541
查看次数

标签 统计

dplyr ×2

r ×2

split ×2

list ×1

tidytable ×1

tidyverse ×1