R에서 데이터 프레임을 부분집합하는 방법(4가지 예)
다음 기본 구문을 사용하여 R에서 데이터 프레임의 부분 집합을 지정할 수 있습니다.
df[rows, columns]
다음 예에서는 다음 데이터 프레임에서 실제로 이 구문을 사용하는 방법을 보여줍니다.
#create data frame df <- data. frame (team=c('A', 'A', 'B', 'B', 'C', 'C', 'C'), points=c(77, 81, 89, 83, 99, 92, 97), assists=c(19, 22, 29, 15, 32, 39, 14)) #view data frame df team points assists 1 A 77 19 2 A 81 22 3 B 89 29 4 B 83 15 5 C 99 32 6 C 92 39 7 C 97 14
예 1: 열을 선택하여 하위 집합 데이터 프레임
다음 코드는 열 이름을 기준으로 데이터 프레임의 부분 집합을 지정하는 방법을 보여줍니다.
#select all rows for columns 'team' and 'assists'
df[, c(' team ', ' assists ')]
team assists
1 to 19
2 to 22
3 B 29
4 B 15
5 C 32
6 C 39
7 C 14
열 인덱스 값으로 데이터 프레임을 부분 집합할 수도 있습니다.
#select all rows for columns 1 and 3
df[, c(1, 3)]
team assists
1 to 19
2 to 22
3 B 29
4 B 15
5 C 32
6 C 39
7 C 14
예 2: 열을 제외한 하위 집합 데이터 프레임
다음 코드는 특정 열 이름을 제외하여 데이터 프레임의 부분 집합을 지정하는 방법을 보여줍니다.
#define columns to exclude
cols <- names(df) %in% c(' points ')
#exclude points column
df[!cols]
team assists
1 to 19
2 to 22
3 B 29
4 B 15
5 C 32
6 C 39
7 C 14
인덱스 값을 사용하여 열을 제외할 수도 있습니다.
#exclude column 2
df[, c(-2)]
team assists
1 to 19
2 to 22
3 B 29
4 B 15
5 C 32
6 C 39
7 C 14
예 3: 행을 선택하여 하위 집합 데이터 프레임
다음 코드는 특정 행을 기준으로 데이터 프레임의 부분 집합을 지정하는 방법을 보여줍니다.
#select rows 1, 5, and 7 df[c(1, 5, 7), ] team points assists 1 A 77 19 5 C 99 32 7 C 97 14
행 범위를 선택하여 데이터 프레임의 하위 집합을 설정할 수도 있습니다.
#select rows 1 through 5 df[1:5, ] team points assists 1 A 77 19 2 A 81 22 3 B 89 29 4 B 83 15 5 C 99 32
예시 4: 조건에 따른 하위 집합 데이터 프레임
다음 코드는 subset() 함수를 사용하여 특정 조건을 충족하는 행과 열을 선택하는 방법을 보여줍니다.
#select rows where points is greater than 90
subset(df, points > 90)
team points assists
5 C 99 32
6 C 92 39
7 C 97 14
| 다음 조건 중 하나를 충족하는 행을 선택하는 연산자(“or”):
#select rows where points is greater than 90 or less than 80
subset(df, points > 90 | points < 80)
team points assists
1 A 77 19
5 C 99 32
6 C 92 39
7 C 97 14
또한 & (“and”) 연산자를 사용하여 여러 조건을 충족하는 행을 선택할 수도 있습니다.
#select rows where points is greater than 90 and assists is greater than 30
subset(df, points > 90 & assists > 30)
team points assists
5 C 99 32
6 C 92 39
조건에 따라 특정 열만 선택하려면 select 인수를 사용할 수도 있습니다.
#select rows where points is greater than 90 and only show 'team' column
subset(df, points > 90, select=c(' team '))
team
5C
6C
7C
추가 리소스
조건에 따라 R의 데이터 프레임에서 행을 제거하는 방법
R에서 데이터 프레임의 값을 바꾸는 방법
R의 데이터 프레임에서 열을 제거하는 방법