我正在使用函数“ rle”来计算向量中有多少个连续值。我的向量的第一部分是:
16992 32 96 8
48
144
8
8
8
8
8
8
8
8
8
8
8
但是rle返回的长度为“ 1 1 1 1 1 1 2 1 1 1 1 4 1 1”
和值'16992 32 96 8 48 144 8 8 8 8 8 8 8'
显然有11个连续的8。请有人帮忙吗?先感谢您。
更新:我使用dput()查看我的数据,它显示:
c(16992, 31.9999997615814, 96, 8, 48, 144, 8, 8, 8.00000023841858, 8, 7.99999976158142, 8, 8, 8, 8, 8.00000023841858, 7.99999976158142).
看到此内容后,看起来值有时会略低于或高于8,尽管当我查看()向量时并未显示。这是问题吗?
我对为什么不将值四舍五入到最接近的整数感到有些困惑。我事先将diff()函数应用于这些时间点...
c(1390456832,
1390473824,
1390473856,
1390473952,
1390473960,
1390474008,
1390474152,
1390474160,
1390474168,
1390474176,
1390474184,
1390474192,
1390474200,
1390474208,
1390474216,
1390474224,
1390474232)
值是float
s,但不相等。检查为什么这些数字不相等?。一种选择是round
应用rle
rle(round(v1))$lengths
#[1] 1 1 1 1 1 1 11
v1 <- c(16992, 31.9999997615814, 96, 8, 48, 144, 8, 8,
8.00000023841858, 8, 7.99999976158142, 8, 8, 8, 8,
8.00000023841858, 7.99999976158142)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句