我有一个名为“cmat':
的矩阵> cmat
[,1]
[1,] 0
[2,] 0
[3,] 0
[4,] 1
[5,] 0
[6,] 1
[7,] 0
[8,] 1
[9,] 0
[10,] 1
[11,] 1
[12,] 1
[13,] 0
[14,] 0
[15,] 1
[16,] 0
[17,] 1
[18,] 0
[19,] 0
[20,] 1
[21,] 0
[22,] 1
[23,] 0
现在,我想要实现的是我想要计算该值从之前的0值变为1的次数。如何在R中执行此操作?
答案 0 :(得分:7)
sum(diff(cmat)==1)
可能是一种方法。
答案 1 :(得分:3)
你可以做到
sum( cmat[, 1] == 1 & c(NA, head(cmat[, 1], -1)) == 0 , na.rm = TRUE)
答案 2 :(得分:1)
在这里添加替代方案。
rle(cmat)
可让您识别值更改的每个位置以及新值。