반응형
R에서 반복되는 값의 시퀀스
이것은 매우 기본적인 질문이지만 저를 짜증나게해서 묻습니다.
반복되는 숫자의 순서가 필요합니다. 즉, 1 1 ... 1 2 2 ... 2 3 3 ... 3 등. 제가 구현 한 방식은 다음과 같습니다.
nyear<-20
names<-c(rep(1,nyear),rep(2,nyear),rep(3,nyear),rep(4,nyear),
rep(5,nyear),rep(6,nyear),rep(7,nyear),rep(8,nyear))
작동하지만 서투르고 분명히 확장되지 않습니다. N 개의 정수를 순서대로 M 번 반복하는 방법은 무엇입니까? seq () 및 rep () 중첩을 시도했지만 원하는대로 수행하지 못했습니다. 나는 분명히 그것을 할 for 루프를 작성할 수 있지만 이것은 또한 서투른 것처럼 보입니다.이를 수행하는 본질적인 방법이 있어야합니다!
에 대한 each=
인수를 놓쳤습니다 rep()
.
R> n <- 3
R> rep(1:5, each=n)
[1] 1 1 1 2 2 2 3 3 3 4 4 4 5 5 5
R>
그래서 당신의 예는 간단한
R> rep(1:8, each=20)
예를 들어 Dirk의 대답은 완벽합니다. 대신 데이터 프레임이 있고 이러한 종류의 시퀀스를 열로 추가하려는 경우에는 group
from groupdata2 (면책 조항 : 내 패키지)를 사용하여 데이터 포인트를 그룹으로 탐욕스럽게 나눌 수도 있습니다.
# Attach groupdata2
library(groupdata2)
# Create a random data frame
df <- data.frame("x" = rnorm(27))
# Create groups with 5 members each (except last group)
group(df, n = 5, method = "greedy")
x .groups
<dbl> <fct>
1 0.891 1
2 -1.13 1
3 -0.500 1
4 -1.12 1
5 -0.0187 1
6 0.420 2
7 -0.449 2
8 0.365 2
9 0.526 2
10 0.466 2
# … with 17 more rows
이러한 종류의 그룹화 요소를 생성하는 방법에는 여러 가지가 있습니다. 예를 들어 그룹 수, 그룹 크기 목록 또는 일부 열의 값이 이전 행의 값과 다를 때 그룹을 시작하도록 지정 (예 : 열이 c("x","x","y","z","z")
그룹화 요소 인 경우 c(1,1,2,3,3)
.
참고 URL : https://stackoverflow.com/questions/6432067/sequence-of-repeated-values-in-r
반응형
'development' 카테고리의 다른 글
=== vs. == 루비 (0) | 2020.11.07 |
---|---|
jQuery : value.attr은 함수가 아닙니다. (0) | 2020.11.07 |
브라우저에서 angularjs의 $ rootScope 객체를 디버깅하는 방법 (0) | 2020.11.07 |
인수를 사용하여 bash에서 Python 스크립트 호출 (0) | 2020.11.07 |
CSS3 플렉스 박스 : 디스플레이 : 박스 vs. 플렉스 박스 vs. 플렉스 (0) | 2020.11.07 |