所选行的中位数取决于其他列值 [英] median of selected rows dependent on other columns values

查看:82
本文介绍了所选行的中位数取决于其他列值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有以下数据框(这里只是大数据框的一小部分)

I have the following data frame (here just a tiny part from a big one)

ID= c(1,1,1,2,2,2,2,3,3)
week = c(1,1,2,1,1,2,2,1,2)
X = c(3.3,4.23,5.6,12,3.1,4.3,5.9,6.1,5.3)
Y = c(1.3,2.4,6.8,5.5,4.3,3,6.6,2.6,5.7)
TS_DF = data.frame(ID,week,X,Y)

我想分别计算每个 IDweek 的 X 和 Y 的中位数,以便结果如下

I would like to calculated the median of X and Y separately for each ID and week so that the results reads like this

ID    week  X     Y     weekMedX    weekMedY
1     1     3.3   1.3   3.765       1.85
1     1     4.23  2.4   3.765       1.85
1     2     5.6   6.8   5.6         6.8
2     1     12    5.5   7.55        4.9
2     1     3.1   4.3   7.55        4.9
2     2     4.3   3     5.1         4.8
2     2     5.9   6.6   5.1         4.8
3     1     6.1   2.6   6.1         2.6
3     2     5.3   5.7   5.3         5.7

基于 这个讨论我想出了以下代码

Based on this discusssion I came up with the following code

b = TS_DF %>%
  group_by(ID) %>%
  group_by(week) %>%
  summarise(median = median(X))

但我得到了错误的结果

# A tibble: 2 x 2
week median
<dbl>  <dbl>
1     1   4.23
2     2   5.45

任何想法将不胜感激.米

Any ideas would be very appreciated. M

推荐答案

正如评论员所建议的,这应该有效:

As the commentators suggested, this should work:

b = TS_DF %>%
  group_by(ID, week)  %>%
  mutate(median_X = median(X), median_Y = median(Y))

这篇关于所选行的中位数取决于其他列值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆