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을 사용하여 특정 문자열이 포함된 행을 필터링하는 방법