小编Van*_* S.的帖子

计算R df列中相等元素之间的不等元素

我对R很新,虽然我已经完成了一些数据争论,但我对如何解决这个问题完全不知所措.到目前为止,Google和SO搜索并没有让我感到满意.如果这是重复的,我很抱歉,那么请指出我正确的解决方案.

我有一个名为id和seq的2列df.像这样

set.seed(12)
id <- rep(c(1:2),10)
seq<-sample(c(1:4),20,replace=T)
df <- data.frame(id,seq)
df <- df[order(df$id),]

    id seq  
 1   1   1
 3   1   4
 5   1   1
 7   1   1
 9   1   1
 11  1   2
 13  1   2
 15  1   2
 17  1   2
 19  1   3
 2   2   4
 4   2   2
 6   2   1
 8   2   3
 10  2   1
 12  2   4
 14  2   2
 16  2   2
 18  2   3
 20  2   1
Run Code Online (Sandbox Code Playgroud)

我需要计算seq列中相等元素之间的不等元素的数量,例如,在1和1或3和3之间有多少元素等.元素的第一个实例应该是NaN,因为在此之前没有元素如果下一个元素是相同的,它应该只编码0,因为中间没有不相等的元素,例如1和1.结果应该写在新的列中,例如延迟.

一个问题是,一旦在id列中开始新的id(此处:1和2),此过程将不得不重新开始.

这是我希望输出的内容:

     id seq …
Run Code Online (Sandbox Code Playgroud)

r dataframe

5
推荐指数
2
解决办法
81
查看次数

标签 统计

dataframe ×1

r ×1