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       
   6        3         B       
   7        4         C
   8        4         C       
   9        5         E       
   10       6         A", header=TRUE)

现在我想创建一个(数据帧)列表,其中列表中的每个数据帧都是 df 的子集,其中每个子集都以类别为条件。我可以按如下方式创建它:

mylist <-list()
mylist[[1]] <- subset(df,df$Category=='A')
mylist[[2]] <- subset(df,df$Category=='B')
mylist[[3]] <- subset(df,df$Category=='C')
mylist[[4]] <- subset(df,df$Category=='D')
mylist[[5]] <- subset(df,df$Category=='E')

现在这可以工作,但相当笨重,实际上是一个硬编码循环,如果我有五个以上的类别,则无法轻松扩展。

是否有更严格/更好的方法来做到这一点?

最佳答案

您可以使用 split 函数

split(df,df$Category)

关于R 数据帧子集排序优化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36051319/

相关文章:

r - ggplot 比例转换对于 stat_function 不准确

r - 如何为多核处理重写我的 R 代码?

python - texreg 的 RPy bool 值

r - 如何将序列拆分为 k 个同质部分?

r - blogdown 找不到 Hugo 的更新版本

r - 有没有办法在 R 中合并灰度图像(JPEG)以创建 'RGB' channel ?

r - 通过取消列出然后重新列出将矢量化函数应用于列表

坚固耐用。 (vcovHC) 在 R 中用 texreg 显示

r - selectInput 中的选项显示在传单 map 上

r - Plotly 自定义模式栏图标更改颜色和形状,并在 R 的新窗口中打开链接