如何从R中的样本平均值中排除超过2 SD的数据点

  • 本文关键字:SD 数据 平均值 样本 排除 r
  • 更新时间 :
  • 英文 :


我在R中有一个数据帧,如下所示,并希望从样本平均值中排除超过2个SD的数据点。我需要按条件来做。因此,特别是,我需要按条件分组,然后从medErr的平均值中排除超过2个SD的数据点。关于如何做到这一点的任何提示(我使用整洁的诗句,但有点卡住(

谢谢!

年龄条件平均错误医疗错误varErr女性原因<1.545205213>>女性<1.002208099>>女性原因3.1385165875.74271903女性非因果性<1.512882702>1.24308910女性原因-0.4251568920.04519723非因果性0.4339679360.14884018
Nr ID 性别
1 2143191.5896796180.93076650
2 21343191.0092412190.45208960
3 21363202.630161424
4 21363201245398206
5 2136820-0.382225350
21368 女性 200.431359690

这样的东西怎么样:

dat %>% 
group_by(Condition) %>% 
mutate(out = case_when(
medErr > mean(medErr, na.rm=TRUE) + 2*sd(medErr, na.rm=TRUE) ~ 1, 
medErr < mean(medErr, na.rm=TRUE) - 2*sd(medErr, na.rm=TRUE) ~ 1, 
TRUE ~ 0)) %>% 
filter(out == 0)

最新更新