我有一个数据框,它由每个观察的变量列组成,这些列是行。我需要修剪这些数据以删除不需要的观察结果。
我通常是怎么做的-
trimmed_stats <- ddply(.data = data, .(pos), subset,
!AvgGFP > 100 &
!AvgRFP > 60 &
!Area < 220 &
!Area > 2000 &
!DeviationsRFP > 20 &
!DeviationGFP > 20)
...基本上删除不符合特定标准的数据。
但是,当我查看多个数据集时,这些特定数字会因数据集而异。
我想要做的是使用平均值的标准偏差执行“修剪”。
例如,让我们采用一个简单的数据框,每个观察值都有一个变量 -
p <- data.frame(obs = c(1:1000), var1 = rnorm(1000, 0 , 5))
sd(p[,2])
[1] 4.91213
所以 1 个标准差是 4.91213,我怎样才能删除 var1 不在平均值的 1 个标准差范围内的所有行?