3
rle
에 기반한 함수보다 벡터를 압축/축소하는 데보다 효율적인 방법이 있습니까? 문자열을 최대 k 반복으로 말합니다. 아래에 주어진 예제 입력과 원하는 출력.최대 반복 반복 요소의 벡터 축소/압축
입력 k에 대한
foov <- rep(c("a", "b", "a"), c(5, 3, 2))
은 = 2, 원하는 출력이 될 것이다 :
가"a" "a" "b" "b" "a" "a"
이고, k = 3, 원하는 출력이 될 것이다 : 순간
"a" "a" "a" "b" "b" "b" "a" "a"
이를 달성하기 위해 다음과 같이 rle
을 사용하고 있습니다.
collapseRLE <- function(v, k) {
vrle <- rle(v)
vrle$lengths[vrle$lengths > k] <- k
ret <- rep(vrle$values, vrle$lengths)
return(invisible(ret))
}
foov <- rep(c("a", "b", "a"), c(5, 3, 2))
print(collapseRLE(foov, 2))
이 그 일을 꽤 좋은 방법을 보인다 열을 추출합니다. – nicola