R의 데이터 프레임에서 행을 복제하는 방법


dplyr 패키지의 함수를 사용하여 R에서 데이터 프레임의 행을 복제하려면 다음 방법을 사용할 수 있습니다.

방법 1: 각 줄을 동일한 횟수만큼 복제합니다.

 library (dplyr)

#replicate each row 3 times
df %>% slice(rep(1:n(), each = 3))

방법 2: 각 줄을 다른 횟수만큼 복제합니다.

 library (dplyr)

#replicate the first row 3 times and the second row 5 times
df %>% slice(rep(1:n(), times = c(3, 5)))

다음 예에서는 각 방법을 실제로 사용하는 방법을 보여줍니다.

예시 1: 각 라인을 동일한 횟수만큼 복제

R에 두 개의 행이 있는 다음 데이터 프레임이 있다고 가정합니다.

 #create data frame
df <- data. frame (team=c('A', 'B'),
                 dots=c(10, 15),
                 rebounds=c(4, 8),
                 assists=c(2, 5))

#view data frame
df

  team points rebound assists
1 to 10 4 2
2 B 15 8 5

다음 구문을 사용하여 데이터 프레임의 각 줄을 세 번 반복할 수 있습니다.

 library (dplyr)

#create new data frame that repeats each row in original data frame 3 times
new_df <- df %>% slice(rep(1:n(), each = 3))

#view new data frame
new_df

  team points rebound assists
1 to 10 4 2
2 to 10 4 2
3 to 10 4 2
4 B 15 8 5
5 B 15 8 5
6 B 15 8 5

원본 데이터 프레임의 각 줄은 세 번 반복되었습니다.

예시 2: 각 줄을 다른 횟수만큼 복제

R에 두 개의 행이 있는 다음 데이터 프레임이 있다고 가정합니다.

 #create data frame
df <- data. frame (team=c('A', 'B'),
                 dots=c(10, 15),
                 rebounds=c(4, 8),
                 assists=c(2, 5))

#view data frame
df

  team points rebound assists
1 to 10 4 2
2 B 15 8 5

다음 구문을 사용하여 첫 번째 줄을 3번, 두 번째 줄을 5번 반복할 수 있습니다.

 library (dplyr)

#create new data frame that repeats first row 3 times and second row 5 times
new_df <- df %>% slice(rep(1:n(), times = c(3, 5)))

#view new data frame
new_df

  team points rebound assists
1 to 10 4 2
2 to 10 4 2
3 to 10 4 2
4 B 15 8 5
5 B 15 8 5
6 B 15 8 5
7 B 15 8 5
8 B 15 8 5

원본 데이터 프레임의 첫 번째 줄은 세 번 반복되었고 두 번째 줄은 다섯 번 반복되었습니다.

관련 항목: dplyr에서 Slice() 함수를 사용하는 방법

추가 리소스

다음 튜토리얼에서는 dplyr에서 다른 일반적인 작업을 수행하는 방법을 설명합니다.

dplyr을 사용하여 인덱스로 열을 선택하는 방법
dplyr을 사용하여 그룹별로 첫 번째 행을 선택하는 방법
dplyr을 사용하여 여러 조건으로 필터링하는 방법
dplyr을 사용하여 특정 문자열이 포함된 행을 필터링하는 방법

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다