R에서 상대도수표를 만드는 방법
상대도수표는 데이터세트의 전체 값 수에 비해 데이터세트의 특정 값이 얼마나 자주 나타나는지 알려줍니다.
다음 기본 구문을 사용하여 R에서 빈도 테이블을 만들 수 있습니다.
table(data)/length(data)
table() 함수는 각 개별 데이터 값의 빈도를 계산하고 length() 함수는 데이터 세트에 있는 값의 총 개수를 계산합니다.
따라서 각 개별 빈도를 데이터 세트의 길이로 나누어 데이터 세트에 있는 각 값의 상대 빈도를 얻습니다.
다음 예에서는 이 구문을 실제로 사용하는 방법을 보여줍니다.
예 1: 벡터의 상대도수표
다음 코드는 R에서 단일 벡터에 대한 상대 빈도 테이블을 생성하는 방법을 보여줍니다.
#define data data <- c('A', 'A', 'B', 'B', 'B', 'C', 'C', 'C', 'C', 'C') #create relative frequency table table(data)/length(data) ABC 0.2 0.3 0.5
테이블을 해석하는 방법은 다음과 같습니다.
- 데이터 세트의 모든 값 중 20% 는 문자 A입니다.
- 데이터 세트의 모든 값 중 30% 는 문자 B입니다.
- 데이터 세트의 모든 값 중 50% 는 문자 C입니다.
예 2: 데이터 프레임 열의 상대 빈도 테이블
다음 코드는 R에서 데이터 프레임의 열에 대한 상대 빈도 테이블을 생성하는 방법을 보여줍니다.
#define data frame df <- data. frame (team=c('A', 'A', 'A', 'A', 'A', 'B', 'B', 'C'), wins=c(2, 9, 11, 12, 15, 17, 18, 19), dots=c(1, 2, 2, 2, 3, 3, 3, 3)) #view first few rows of data frame head(df) team wins points 1 to 2 1 2 to 9 2 3 to 11 2 4 to 12 2 5 to 15 3 6 B 17 3 #calculate relative frequency table for 'team' column table(df$team)/length(df$team) ABC 0.625 0.250 0.125
예 3: 데이터 프레임의 모든 열에 대한 상대 빈도 테이블
다음 코드는 R에서 데이터 프레임의 각 열에 대한 상대 빈도 테이블을 생성하는 방법을 보여줍니다.
#define data frame df <- data. frame (team=c('A', 'A', 'A', 'A', 'A', 'B', 'B', 'C'), wins=c(2, 9, 11, 12, 15, 17, 18, 19), dots=c(1, 2, 2, 2, 3, 3, 3, 3)) #calculate relative frequency table for each column sapply(df, function (x) table(x)/nrow(df)) $team x ABC 0.625 0.250 0.125 $wins x 2 9 11 12 15 17 18 19 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 $points x 1 2 3 0.125 0.375 0.500