R에서 데이터 프레임을 분할하는 방법(예제 포함)


다음 세 가지 방법 중 하나를 사용하여 R에서 데이터 프레임을 여러 개의 작은 데이터 블록으로 분할할 수 있습니다.

방법 1: 행 값을 기준으로 데이터 프레임을 수동으로 분할

 #define first n rows to include in first data frame
n <- 4

#split data frame into two smaller data frames
df1 <- df[row. names (df) %in% 1:n, ]
df2 <- df[row. names (df) %in% (n+1):nrow(df), ]

방법 2: 데이터 프레임을 동일한 크기의 n개 데이터 프레임으로 나눕니다.

 #define number of data frames to split into
n <- 3

#split data frame into n equal-sized data frames
split(df, factor(sort(rank(row. names (df)) %% n)))

방법 3: 열 값을 기준으로 데이터 프레임 분할

 #split data frame based on particular column value
df1 <- df[df$column_name == 0, ]
df2 <- df[df$column_name != 0, ]

다음 예에서는 다음 데이터 프레임을 사용하여 실제로 각 메서드를 사용하는 방법을 보여줍니다.

 #create data frame
df <- data. frame (ID=c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12),
                 sales=c(7, 8, 8, 7, 9, 7, 8, 9, 3, 3, 14, 10),
                 leads=c(0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0))

#view data frame
df

   Sales lead ID
1 1 7 0
2 2 8 0
3 3 8 1
4 4 7 1
5 5 9 0
6 6 7 1
7 7 8 1
8 8 9 0
9 9 3 1
10 10 3 0
11 11 14 1
12 12 10 0

방법 1: 행 값을 기준으로 데이터 프레임을 수동으로 분할

다음 코드는 데이터 프레임을 두 개의 작은 데이터 블록으로 분할하는 방법을 보여줍니다. 첫 번째 블록에는 라인 1부터 4까지가 포함되고 두 번째 블록에는 라인 5부터 마지막 라인까지 포함됩니다.

 #define row to split on
n <- 4

#split into two data frames
df1 <- df[row. names (df) %in% 1:n, ]
df2 <- df[row. names (df) %in% (n+1):nrow(df), ]

#view resulting data frames
df1

  Sales lead ID
1 1 7 0
2 2 8 0
3 3 8 1
4 4 7 1

df2

   Sales lead ID
5 5 9 0
6 6 7 1
7 7 8 1
8 8 9 0
9 9 3 1
10 10 3 0
11 11 14 1
12 12 10 0

방법 2: 데이터 프레임을 동일한 크기의 n개 데이터 프레임으로 나눕니다.

다음 코드는 데이터 프레임을 동일한 크기의 n개 데이터 프레임으로 나누는 방법을 보여줍니다.

 #define number of data frames to split into
n <- 3

#split data frame into n equal-sized data frames
split(df, factor(sort(rank(row. names (df)) %% n)))

$`0`
  Sales lead ID
1 1 7 0
2 2 8 0
3 3 8 1
4 4 7 1

$`1`
  Sales lead ID
5 5 9 0
6 6 7 1
7 7 8 1
8 8 9 0

$`2`
   Sales lead ID
9 9 3 1
10 10 3 0
11 11 14 1
12 12 10 0

결과는 동일한 크기의 데이터 프레임 3개입니다.

방법 3: 열 값을 기준으로 데이터 프레임 분할

다음 코드는 특정 열의 값을 기준으로 데이터 프레임을 두 개의 데이터 프레임으로 분할하는 방법을 보여줍니다.

 #split data frame based on particular column value
df1 <- df[df$leads == 0, ]
df2 <- df[df$leads != 0, ]

#view resulting data frames
df1

   Sales lead ID
1 1 7 0
2 2 8 0
5 5 9 0
8 8 9 0
10 10 3 0
12 12 10 0

df2

   Sales lead ID
3 3 8 1
4 4 7 1
6 6 7 1
7 7 8 1
9 9 3 1
11 11 14 1

df1에는 원본 데이터 프레임에서 “leads”가 0인 모든 행이 포함되고 df2에는 원본 데이터 프레임에서 “leads”가 1과 동일한 모든 행이 포함됩니다.

추가 리소스

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

R에서 여러 데이터 프레임을 병합하는 방법
R에서 데이터 프레임 열을 쌓는 방법
R의 다른 열을 기반으로 데이터 프레임에 열을 추가하는 방법

의견을 추가하다

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