R에서 행의 중앙값을 계산하는 방법
다음 방법을 사용하여 R에서 행의 중앙값을 계산할 수 있습니다.
방법 1: 기본 R을 사용하여 행의 중앙값 계산
df$row_median = apply(df, 1, median, na. rm = TRUE )
방법 2: dplyr을 사용하여 행의 중앙값 계산
library (dplyr) df %>% rowwise() %>% mutate(row_median = median(c_across(where(is. numeric )), na. rm = TRUE ))
다음 예에서는 각 방법을 실제로 사용하는 방법을 보여줍니다.
예 1: 기본 R을 사용하여 행의 중앙값 계산
세 가지 다른 게임 동안 서로 다른 농구 선수가 득점한 점수를 보여주는 R의 다음 데이터 프레임이 있다고 가정합니다.
#create data frame
df <- data. frame (game1=c(10, 12, 14, 15, 16, 18, 19),
game2=c(14, 19, 13, 8, 15, 15, 17),
game3=c(9, NA, 15, 25, 26, 30, 19))
#view data frame
df
game1 game2 game3
1 10 14 9
2 12 19 NA
3 14 13 15
4 15 8 25
5 16 15 26
6 18 15 30
7 19 17 19
R 기본 apply() 함수를 사용하여 각 행의 중앙값을 표시하는 새 열을 만들 수 있습니다.
#calculate median of each row
df$row_median = apply(df, 1, median, na. rm = TRUE )
#view updated data frame
df
game1 game2 game3 row_median
1 10 14 9 10.0
2 12 19 NA 15.5
3 14 13 15 14.0
4 15 8 25 15.0
5 16 15 26 16.0
6 18 15 30 18.0
7 19 17 19 19.0
row_median 이라는 새 열에는 데이터 프레임에 있는 각 행의 중앙값이 포함됩니다.
예 2: dplyr을 사용하여 행의 중앙값 계산
세 가지 다른 게임 동안 서로 다른 농구 선수가 득점한 점수를 보여주는 R의 다음 데이터 프레임이 있다고 가정합니다.
#create data frame
df <- data. frame (player=c('A', 'B', 'C', 'D', 'E', 'F', 'G'),
game1=c(10, 12, 14, 15, 16, 18, 19),
game2=c(14, 19, 13, 8, 15, 15, 17),
game3=c(9, NA, 15, 25, 26, 30, 19))
#view data frame
df
player game1 game2 game3
1 A 10 14 9
2 B 12 19 NA
3 C 14 13 15
4 D 15 8 25
5 E 16 15 26
6 F 18 15 30
7 G 19 17 19
dplyr 패키지의 mutate() 함수를 사용하여 숫자 열에 대해서만 각 행의 중앙값을 표시하는 새 열을 만들 수 있습니다.
library (dplyr)
#calculate median of rows for numeric columns only
df %>%
rowwise() %>%
mutate(row_median = median(c_across(where(is. numeric )), na. rm = TRUE ))
# A tibble: 7 x 5
#Rowwise:
player game1 game2 game3 row_median
1 A 10 14 9 10
2 B 12 19 NA 15.5
3 C 14 13 15 14
4 D 15 8 25 15
5 E 16 15 26 16
6 F 18 15 30 18
7 G 19 17 19 19
row_median 이라는 새 열에는 숫자 열에 대해서만 데이터 프레임의 각 행의 중앙값이 포함됩니다.
추가 리소스
다음 튜토리얼에서는 R에서 다른 일반적인 작업을 수행하는 방법을 설명합니다.