给定一个值表,其中A=系统状态,B=状态长度,C=累积状态长度:
A B C
1 1.16 1.16
0 0.51 1.67
1 1.16 2.84
0 0.26 3.10
1 0.59 3.69
0 0.39 4.08
1 0.78 4.85
0 0.90 5.75
1 0.78 6.53
0 0.26 6.79
1 0.12 6.91
0 0.51 7.42
1 0.26 7.69
0 0.51 8.20
1 0.39 8.59
0 0.51 9.10
1 1.16 10.26
0 1.10 11.36
1 0.59 11.95
0 0.51 12.46
我如何使用R来计算每一个常量间隔长度的转换数(其中A给出状态)--如果间隔是连续的,并且可以是任意的数字(我在图像示例中选择了一个值2)?例如,使用表值或包含的图像,我们计算了从0到2的2个转换,从大于2-4的3个转换,从>4-6的3个转换,等等。
发布于 2016-01-23 02:42:42
在R中,这很简单,您所需要的只是列C
和?切。考虑:
d <- read.table(text="A B C
1 1.16 1.16
0 0.51 1.67
1 1.16 2.84
0 0.26 3.10
1 0.59 3.69
0 0.39 4.08
1 0.78 4.85
0 0.90 5.75
1 0.78 6.53
0 0.26 6.79
1 0.12 6.91
0 0.51 7.42
1 0.26 7.69
0 0.51 8.20
1 0.39 8.59
0 0.51 9.10
1 1.16 10.26
0 1.10 11.36
1 0.59 11.95
0 0.51 12.46", header=TRUE)
fi <- cut(d$C, breaks=seq(from=0, to=14, by=2))
table(fi)
# fi
# (0,2] (2,4] (4,6] (6,8] (8,10] (10,12] (12,14]
# 2 3 3 5 3 3 1
https://stackoverflow.com/questions/34959320
复制相似问题