对从数据帧获得的每个数据子集执行一系列操作

时间:2016-09-13 17:00:27

标签: r

这是'R'世界中一个菜鸟的问题。我试过搜索,有很多解决方案接近(例如聚合,通过等),但我缺乏将其应用于我的问题的理解。如果有人能以更详细的方式指导我,我将非常感激。

假设数据集

Name    Wheels  Color   Mileage seat_capacity
1        2      Red      70         2
2        3      Black    60         7
3        4      Blue     12         5
4        4      White    15         6
5        3      Yellow   45         6
6        2      Green    70         2
7        3      Silver   45         6
8        6      Silver   5          4
9        14     Red      12         2
10       2      Black    70         7
11       4      Blue     70         5
12       3      White    60         6
13       4      Yellow   12         6
14       4      Green    15         2

我最初使用split来创建基于颜色的数据子集。

color <- split(df,df$color)

对于每个创建的子集,我会做更多的操作,例如

  • 在每个子集中找到车轮数最少的车辆中里程数最高的车辆.....等

我也写了关于后半部分的所有规则。我正在努力找到一种方法,我可以以可变颜色运行每个子集上的所有操作。

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:0)

以下为我工作,我真诚地要感谢@Imo和@aosmith指导我。

假设,我想首先根据颜色对df进行分组,然后通过车轮进一步分组,然后在每个这样的子组(车轮)中根据里程选择前2辆车。使用dplyr库来实现相同的目的。

     my_list <- df %>% group_by(color, wheels) %>% top_n(2,Mileage)

HTH