Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
识别R中的运行_R_Run Length Encoding - Fatal编程技术网

识别R中的运行

识别R中的运行,r,run-length-encoding,R,Run Length Encoding,在R中有以下向量: incident <- c(FALSE, TRUE, TRUE, TRUE, FALSE, FALSE, FALSE, TRUE, TRUE, FALSE, FALSE) 但这并没有让我得到所需的向量。 有什么建议吗?谢谢大家! 对于不带NAs的逻辑向量,使用rle中的长度重复1:5,并将其除以2,然后使用天花 x <- rle(incident)$lengths n <- rep(1:length(x), x) # [1] 1 2 2 2 3 3 3 4

在R中有以下向量:

incident <- c(FALSE, TRUE, TRUE, TRUE, FALSE, FALSE, FALSE, TRUE, TRUE, FALSE, FALSE)
但这并没有让我得到所需的向量。
有什么建议吗?谢谢大家!

对于不带NAs的逻辑向量,使用
rle
中的长度重复1:5,并将其除以2,然后使用
天花

x <- rle(incident)$lengths
n <- rep(1:length(x), x)
# [1] 1 2 2 2 3 3 3 4 4 5 5
n1 <- ceiling( n/2 )
# [1] 1 1 1 1 2 2 2 2 2 3 3
paste0(incident, n1 )
 [1] "FALSE1" "TRUE1"  "TRUE1"  "TRUE1"  "FALSE2" "FALSE2" "FALSE2" "TRUE2"  "TRUE2"  "FALSE3"
[11] "FALSE3"

x您可以将您的
rle
ave
组合起来计算组数

r <- rle(incident)
r$values <- paste0(r$values,ave(r$values,r$values,FUN=seq))
as.factor(inverse.rle(r))
# [1] FALSE1 TRUE1  TRUE1  TRUE1  FALSE2 FALSE2 FALSE2 TRUE2  TRUE2  FALSE3
# [11] FALSE3

r我显然误解了这个问题,删除了上面的评论。
x <- rle(incident)$lengths
n <- rep(1:length(x), x)
# [1] 1 2 2 2 3 3 3 4 4 5 5
n1 <- ceiling( n/2 )
# [1] 1 1 1 1 2 2 2 2 2 3 3
paste0(incident, n1 )
 [1] "FALSE1" "TRUE1"  "TRUE1"  "TRUE1"  "FALSE2" "FALSE2" "FALSE2" "TRUE2"  "TRUE2"  "FALSE3"
[11] "FALSE3"
r <- rle(incident)
r$values <- paste0(r$values,ave(r$values,r$values,FUN=seq))
as.factor(inverse.rle(r))
# [1] FALSE1 TRUE1  TRUE1  TRUE1  FALSE2 FALSE2 FALSE2 TRUE2  TRUE2  FALSE3
# [11] FALSE3