我对R比较新,并且有一个.xlsx电子表格,我试图操纵。我已将电子表格导入到R中,它有近30列和10000行数据。我需要做的是只遍历4列,并检查3或2个相邻单元格是否具有相同的值。
如果他们这样做,我想计算这个实例。
我想要编写一个for循环,我将列a1与列b1比较到列c1等,然后存储具有相同值的相邻单元格的数量,然后循环到下一行。 我可以用C ++做到这一点,但我不习惯R的语法。
如果有人能给我一点指导,我真的很感激!
答案 0 :(得分:2)
diff
在这里很有用:
set.seed(42)
DF <- data.frame(matrix(sample(1:4, 20, TRUE), ncol = 4))
# X1 X2 X3 X4
#1 4 3 2 4
#2 4 3 3 4
#3 2 1 4 1
#4 4 3 2 2
#5 3 3 2 3
sum(apply(DF, 1, function(x) sum(c(1, diff(x) != 0)) < 4))
#[1] 3