R 通过命名字段将数据帧拆分为列表,每个片段的名称作为用于拆分的级别的名称

R 通过命名字段将数据帧拆分为列表,每个片段的名称作为用于拆分的级别的名称,r,R,因此,nrow 1610、4906、12082等列表中将有5个数据帧,可通过diamonds\u split$Fair等访问 尝试: diamonds$cut %>% table() . Fair Good Very Good Premium Ideal 1610 4906 12082 13791 21551 diamonds\u分割百分比分割(切割) unique中出错。默认值(x,nmax=nmax): u

因此,nrow 1610、4906、12082等列表中将有5个数据帧,可通过
diamonds\u split$Fair
等访问

尝试:

diamonds$cut %>% table()
.
     Fair      Good Very Good   Premium     Ideal 
     1610      4906     12082     13791     21551
diamonds\u分割百分比分割(切割)
unique中出错。默认值(x,nmax=nmax):
unique()仅适用于向量
然后尝试:

diamonds_split <- diamonds %>% split(cut)
Error in unique.default(x, nmax = nmax) : 
  unique() applies only to vectors
diamonds\u分割%group\u按(切割)%>%group\u分割
这会运行,但我不明白结果变量
diamonds\u split
是什么。我的rstudio环境窗格称之为大型VCTR列表。我正在寻找的是一个数据帧列表,可以通过名称访问,包括Fair、Good、Very Good等


如何根据切割将钻石分割成多个数据帧,然后使用
钻石分割$[cut name]
访问每一块钻石,例如
钻石分割$Fair

正确的方法是使用
分割()
创建列表,并将结果保存到新对象中。因此,您将获得所需的数据帧:

diamonds_split <- diamonds %>% group_by(cut) %>% group_split
diamonds_split <- diamonds %>% group_by(cut) %>% group_split
#Data
Lcut <- split(diamonds,diamonds$cut)
#Explore
Lcut$Fair
#Dim
lapply(Lcut,dim)
$Fair
[1] 1610   10

$Good
[1] 4906   10

$`Very Good`
[1] 12082    10

$Premium
[1] 13791    10

$Ideal
[1] 21551    10