R数据帧子集排序优化

R数据帧子集排序优化,r,R,这不是一个关于如何做某事本身的问题,而是关于如何做得更好的问题 在R中,假设我有一个数据帧df: df<-read.table(text=" Column1 Column2 Category 1 1 A 2 1 B 3 1 D 4 1 E 5 2 B

这不是一个关于如何做某事本身的问题,而是关于如何做得更好的问题

在R中,假设我有一个数据帧df:

df<-read.table(text="
Column1  Column2   Category    
   1        1         A   
   2        1         B       
   3        1         D       
   4        1         E       
   5        2         B       
   6        3         B       
   7        4         C
   8        4         C       
   9        5         E       
   10       6         A", header=TRUE)

df您可以使用函数split

split(df,df$Category)

对于这种情况,可以使用dplyr库和循环:

library(dplyr)
mylist <-list()
for ( v in unique(df$Category)){
  mylist[[length(mylist)+1]] <- filter(df, Category == v)
}
mylist
库(dplyr)

mylist如果您使用的是
dplyr
,您可能只需执行
df%>%groupby(Category)
,然后使用另一个
%>%
对这些子集应用所需的任何计算。该包明确尝试避免使用
list
对象,而使用
data.frame
类对象。
library(dplyr)
mylist <-list()
for ( v in unique(df$Category)){
  mylist[[length(mylist)+1]] <- filter(df, Category == v)
}
mylist