数据如下:
a <- c('id1','id2','id3','id4','id5')
b <- c(5,10,7,2,3)
d <- c(5.2,150,123,5,7)
e <- c(5.4,0,10,3,5)
df1 <- data.frame(a,b,d,e)
Run Code Online (Sandbox Code Playgroud)
我想在这个数据框中创建一个返回 TRUE 和 FALSE 的新列。如果所有值彼此相差在 5% 以内,则为真,否则为假。
例如,对于 'id1',b、d 和 e 列的值分别为 5、5.2、5.4。所以所有这些都在 5% 以内,因此 new_col 应该是真的。对于 'id2',b、d 和 e 列的值分别为 10,150,0。因此,它们不是彼此的 5%,因此它应该是假的。
期望输出

我正在尝试找出如何为数据帧的给定列获取连续零的数量。
这是一个数据框:
data <- data.frame(id = c(1,1,1,1,1,1,2,2,2,2,2,2), value = c(1,0,0,1,0,0,0,0,0,0,4,3))
Run Code Online (Sandbox Code Playgroud)
这将是所需的输出:
id value consec
1 1 0
1 0 2
1 0 2
1 1 0
1 0 2
1 0 2
2 0 4
2 0 4
2 0 4
2 0 4
2 4 0
2 3 0
Run Code Online (Sandbox Code Playgroud)
关于如何实现此输出的任何想法?非常感谢
r ×2