给定数据的标准偏差和中位数仅为

时间:2018-03-06 18:57:46

标签: r statistics dplyr

我想根据另一列中的条件获取行的标准偏差和中位数。

我想说我希望x列的标准偏差(sd)仅取main+1main-1范围之间的值,{{{ 1}}。

所以我试过

median

所以我做了

set.seed(2000)

df <- data.frame(x=rnorm(10,5,sd=2),main=4)

> df
          x main
1  3.292314    4
2  4.294221    4
3  6.780299    4
4  8.482573    4
5  6.832157    4
6  2.646797    4
7  1.123124    4
8  9.188757    4
9  5.450950    4
10 7.352552    4

这很奇怪,因为当我手动检查library(dplyr) df%>% mutate(sd_range=sd(x[main+2&main-2]),med_range=median(x[main+1])) x main sd_range med_range 1 3.292314 4 2.644843 6.832157 2 4.294221 4 2.644843 6.832157 3 6.780299 4 2.644843 6.832157 4 8.482573 4 2.644843 6.832157 5 6.832157 4 2.644843 6.832157 6 2.646797 4 2.644843 6.832157 7 1.123124 4 2.644843 6.832157 8 9.188757 4 2.644843 6.832157 9 5.450950 4 2.644843 6.832157 10 7.352552 4 2.644843 6.832157 x值sd

main+2&main-2

无法理解为什么情况不起作用。

提前致谢!

0 个答案:

没有答案