【问题标题】:How to count these transitions - in R如何计算这些转换 - 在 R
【发布时间】:2016-04-29 19:09:00
【问题描述】:

给定一个值表,其中 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 个转换,等等。

【问题讨论】:

  • 目前无法解释。在提供的数据中,什么是“过渡”? “间隔”在哪里表示?等等。
  • 我举个例子。你不明白什么?只有两种状态(0 和 1),因此转换与状态从 1 到 0 的变化有关,反之亦然。间隔显示为 2 的跳跃,即 0-2、2-4、4-6 等。
  • 对不起,我也不明白。你将不得不尝试澄清。可能将 B 列和 C 列纳入解释中会有所帮助。

标签: r histogram frequency


【解决方案1】:

这在 R 中很简单。您只需要列 C?cut。考虑:

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 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-25
    • 2018-12-16
    • 2016-07-19
    • 2015-01-24
    • 1970-01-01
    • 2021-04-12
    • 1970-01-01
    • 2022-10-07
    相关资源
    最近更新 更多