我有一个有2列的数据框.
column1在column2中的随机数是一个地方保持列,我希望column3看起来像
random temp
0.502423373 1
0.687594055 0
0.741883739 0
0.445364032 0
0.50626137 0.5
0.516364981 0
...
Run Code Online (Sandbox Code Playgroud)
我想填充column3所以它取最后一个非零数字(在这个例子中是1或.5)并连续用该值填充以下行,直到它遇到一个具有不同数字的行.然后它重复整个列的过程.
random temp state
0.502423373 1 1
0.687594055 0 1
0.741883739 0 1
0.445364032 0 1
0.50626137 0.5 0.5
0.516364981 0 0.5
0.807804708 0 0.5
0.247948445 0 0.5
0.46573337 0 0.5
0.103705154 0 0.5
0.079625868 1 1
0.938928944 0 1
0.677713019 0 1
0.112231619 0 1
0.165907178 0 1
0.836195267 0 1
0.387712998 1 1
0.147737077 0 1
0.439281543 0.5 0.5
0.089013503 0 …Run Code Online (Sandbox Code Playgroud) 我有一个数据框,它由每个观察的变量列组成,这些列是行。我需要修剪这些数据以删除不需要的观察结果。
我通常如何做到这一点 -
trimmed_stats <- ddply(.data = data, .(pos), subset,
!AvgGFP > 100 &
!AvgRFP > 60 &
!Area < 220 &
!Area > 2000 &
!DeviationsRFP > 20 &
!DeviationGFP > 20)
Run Code Online (Sandbox Code Playgroud)
...基本上删除不符合特定标准的数据。
但是,当我查看多个数据集时,这些特定数字会因数据集而异。
我想要做的是使用与平均值的标准偏差执行“修剪”。
例如,让我们采用一个简单的数据框,每个观察值都有一个变量 -
p <- data.frame(obs = c(1:1000), var1 = rnorm(1000, 0 , 5))
sd(p[,2])
[1] 4.91213
Run Code Online (Sandbox Code Playgroud)
所以 1 个标准差是 4.91213,如何删除 var1 不在均值 1 个标准差范围内的所有行?