【发布时间】:2017-05-09 11:10:16
【问题描述】:
我有以下数据框,df:
LeftOrRight SpeedCategory NumThruLanes
R 25to45 3
L 45to62 2
R Gt62 1
我想按 SpeedCategory 对其进行分组,然后循环遍历其他列,以获取每个速度类别中每个唯一代码的频率——如下所示:
25to45 45to62 Gt62
LeftOrRight L 0 1 0
R 1 0 1
NumThruLanes 1 0 0 1
2 0 1 0
3 1 0 0
我能做到的最接近的是:
for (col in df){
tbl <- table(col, df$SpeedCategory)
print(tbl)
}
打印出以下内容(首先是 SpeedCategory,然后是 NumThruLanes):
col 25to45 45to62 Gt62
L 0 1 0
R 1 0 1
col 25to45 45to62 Gt62
1 0 0 1
2 0 1 0
3 1 0 0
我很确定我可以使用aggregate() 或dplyr 的group_by 来实现我的目标,但我是R 新手,无法弄清楚语法。在 pandas 我会使用 MultiIndex 但我不知道 R 等价物是什么所以很难用谷歌搜索。
我想尝试一次完成所有事情,或者循环完成,因为我有十几列要通过。
【问题讨论】: