0
这对R脚本中的零经验证明是一个怪物。我有57列,数据的30行的数据帧R函数用于计算某个值的频率低于特定值的频率
这里就是我想要做:
1)到各列:
2)计数的时间2号/连续3/4/5/6/7/8/9值小于-1
3)打印结果作为文本文件
4)重复步骤2和3的第二列,因此on
我环顾四周,也于r计算器
check number of times consecutive value appear based on a certain criteria
这是我的一列数据:
data<-c(-0.996,-1.111,-0.638,0.047,0.694,1.901,2.863,2.611,2.56,2.016,0.929,-0.153,-0.617,-0.143
0.199,0.556,0.353,-0.638,0.347,0.045,-0.829,-0.882,-1.143,-0.869,0.619,0.923,-0.474,0.227
0.394,0.789,1.962,1.132,0.1,-0.278,-0.303,-0.606,-0.705,-0.858,-0.723,-0.081,1.206,2.329
1.863,2.1,1.547,2.026,0.015,-0.441,-0.371,-0.304,-0.668,-0.953,-1.256,-1.185,-0.891,-0.569
0.485,0.421,-0.004,0.024,-0.39,-0.58,-1.178,-1.101,-0.882,0.01,0.052,-0.166,-1.703,-1.048
-0.718,-0.036,-0.561,-0.08,0.272,-0.041,-0.811,-0.929,-0.853,-1.047,0.431,0.576,0.642,1.62
2.324,1.251,1.384,0.195,-0.081,-0.335,-0.176,1.089,-0.602,-1.134,-1.356,-1.203,-0.795,-0.752
-0.692,-0.813,-1.172,-0.387,-0.079,-0.374,-0.157,0.263,0.313,0.975,2.298,1.71,0.229,-0.313
-0.779,-1.12,-1.102,-1.01,-0.86,-1.118,-1.211,-1.081,-1.156,-0.972)
当我运行下面的代码:
for (col in 1:ncol(data)) {
runs <- rle(data[,col])
print(runs$lengths[which(runs$values < -1)])
}
它给我这个:
[1] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
它已经计算了数值< -1但未运行。这是我在这里错了吗?
感谢。我跑了脚本,但它没有给我跑。我编辑了这个问题,以反映我的问题 – user53020 2014-10-10 14:45:28
更新了答案 – hrbrmstr 2014-10-10 14:53:20
谢谢,但这只是一个向量的权利?如果我需要对数据框中的所有列重复此操作,该怎么办? – user53020 2014-10-10 14:56:33