【发布时间】:2017-07-31 13:40:27
【问题描述】:
您好,我想根据我们通过另一列得到的部分来计算某些值的中位数。初始数据结构如下:
Column A Column B
559 1
559 1
322 1
661 2
661 2
662 2
661 2
753 3
752 3
752 3
752 3
752 3
328 4
328 4
328 4
计算的中位数将基于 A 列,输出如下所示:
Column A Column B Median
559 1 559
559 1 559
322 1 559
661 2 661
661 2 661
662 2 661
661 2 661
753 3 752
752 3 752
752 3 752
752 3 752
752 3 752
328 4 328
328 4 328
328 4 328
中位数是根据 A 列和 B 列的相同值集计算的。例如,我们应该计算 A 列的所有值的中位数,其中 B 列的值相同,并将它们粘贴到 Median 列中。
我需要在 r 中执行此操作,但无法破解它。有没有办法通过 dplyr 或任何其他包来做到这一点?
谢谢
【问题讨论】:
-
除了下面的答案,使用
dplyr你可以做df %>% group_by(column2) %>% mutate(median = median(column1)) -
由于某种原因这不起作用,我收到以下错误
Error in mutate_impl(.data, dots) : incompatible types, expecting a integer vector
标签: r multiple-columns median