根据唯一标识符汇总行

时间:2019-02-15 15:13:06

标签: r aggregate

根据唯一标识符汇总到行?

我有一个具有唯一ID(音节)和持续时间的数据框。 为了继续进行分析,我需要通过以下方式汇总数据帧 音节。

这个

visit()

应如下所示:

syllable   duration
ba         0.20414850
a          0.06804950
na         0.11525535
a          0.09877130
na         0.36774874
ba         0.18228837
ba         0.22232325

我尝试使用dplyr的group_by函数

syllable   duration_1    duration_2  duration_3
ba         0.20414850    0.18228837  0.22232325
a          0.06804950    0.09877130
na         0.11525535    0.36774874

但是,这会产生:

library(dplyr)
df %>%
  group_by(syllable) %>%
  summarise(duration = paste(duration, collapse = ","))

谢谢

1 个答案:

答案 0 :(得分:1)

您正在寻找的是:

B

输出:

library(dplyr)

df %>%
  group_by(syllable) %>%
  mutate(dur = paste0("duration_", row_number())) %>%
  spread(dur, duration) %>% as.data.frame()

我只添加了 syllable duration_1 duration_2 duration_3 1 a 0.0680495 0.0987713 NA 2 ba 0.2041485 0.1822884 0.2223233 3 na 0.1152554 0.3677487 NA ,以便打印所有小数,否则不需要。