R数据帧子集排序优化
这不是一个关于如何做某事本身的问题,而是关于如何做得更好的问题 在R中,假设我有一个数据帧df: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
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