【发布时间】:2021-01-27 18:51:21
【问题描述】:
我很肯定这是一个非常简单的答案,但我似乎无法理解使用多个条件进行聚合或强制转换
我有一个如下所示的表格:
> head(df, n=10L)
STATE EVTYPE FATALITIES INJURIES
1 AL TORNADO 0 15
3 AL TORNADO 0 2
4 AL TORNADO 0 2
5 AL TORNADO 0 2
6 AL TORNADO 0 6
7 AL TORNADO 0 1
9 AL TORNADO 1 14
11 AL TORNADO 0 3
12 AL TORNADO 0 3
13 AL TORNADO 1 26
显然,这种情况还在继续……我想做的是按状态和 EVTYPE 折叠死亡人数和受伤人数,所以如果这 10 行是我的 ful 数据集,结果将是一个单行数据框:
STATE EVTYPE FATALITIES INJURIES
1 AL TORNADO 2 74
我的完整框架有许多状态和许多 EVTYPE
【问题讨论】:
-
试试 dplyr
df %>% group_by(STATE, EVTYPE) %>% summarise_each(funs(sum))或aggregate(.~STATE+EVTYPE, df, sum) -
或
setDT(df)[, lapply(.SD, sum), .(STATE, EVTYPE)]和data.table -
@docendodiscimus,我一开始也是这么想的,但我认为这里的不同之处在于 OP 想按组总结他的 all 列,而我不能'找不到一个好的骗子。
-
@DavidArenburg,我看看能不能找到一个。在此期间随意回答(我可能找不到任何答案)
-
几个相关的问题是:data.table、base、dplyr。我会看看我还能找到什么。 one more