R에서 data.table의 dcast 기능을 사용하는 방법


R에서 data.table 패키지의 dcast 함수를 사용하여 데이터 프레임을 긴 형식 에서 넓은 형식으로 변경할 수 있습니다.

이 함수는 다른 변수별로 그룹화된 데이터 프레임의 특정 변수를 요약하려는 경우 특히 유용합니다.

다음 예는 R의 다음 데이터 프레임에서 실제로 dcast 함수를 사용하는 방법을 보여줍니다.

 library (data.table)

#create data frame
df <- data. frame (team=c('A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'),
                 position=c('G', 'G', 'F', 'F', 'G', 'G', 'F', 'F'),
                 points=c(18, 13, 10, 12, 16, 25, 24, 31),
                 assists=c(9, 8, 8, 5, 12, 15, 10, 7))

#convert data frame to data table
dt <- setDT(df)

#view data table
dt

   team position points assists
1: AG 18 9
2: AG 13 8
3:AF 10 8
4:AF 12 5
5: BG 16 12
6: BG 25 15
7: BF 24 10
8: BF 31 7

예 1: 다른 변수별로 그룹화된 변수에 대한 측정항목 계산

다음 코드는 dcast 함수를 사용하여 위치 변수별로 그룹화된 평균 점수 값을 계산하는 방법을 보여줍니다.

 library (data.table)

#calculate mean points value by team and position
dt_new <- dcast(dt,
                team + position ~.,
                fun. aggregate = mean, 
                value. var = ' points ')

#view results
dt_new

   team position.
1:AF 11.0
2: AG 15.5
3: BF 27.5
4: BG 20.5

예 2: 다른 변수로 그룹화된 변수에 대한 여러 측정항목 계산

다음 코드는 dcast 함수를 사용하여 위치 변수별로 그룹화된 평균 점수 값과 최대 점수 값을 계산하는 방법을 보여줍니다.

 library (data.table)

#calculate mean and max points values by team and position
dt_new <- dcast(dt,
                team + position ~.,
                fun. aggregate = list(mean, max), 
                value. var = ' points ')

#view results
dt_new

   team position points_mean points_max
1:AF 11.0 12
2: AG 15.5 18
3: BF 27.5 31
4: BG 20.5 25

예 3: 다른 변수로 그룹화된 여러 변수에 대한 지표 계산

다음 코드는 dcast 함수를 사용하여 포지션 변수별로 그룹화된 평균 포인트 값과 평균 어시스트 값을 계산하는 방법을 보여줍니다.

 library (data.table)

#calculate mean and max points values by team and position
dt_new <- dcast(dt,
                team + position ~.,
                fun. aggregate = mean, 
                value. var = c(' points ', ' assists '))

#view results
dt_new

   team position points assists
1:AF 11.0 6.5
2: AG 15.5 8.5
3: BF 27.5 8.5
4: BG 20.5 13.5

추가 리소스

다음 튜토리얼에서는 데이터 테이블에 대한 추가 정보를 제공합니다.

data.table과 R의 데이터 프레임: 세 가지 주요 차이점
R에서 data.table을 필터링하는 방법
R에서 rbindlist를 사용하여 여러 테이블에서 데이터 테이블을 만드는 방법

의견을 추가하다

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