R 통계분석 Mean, Median, Mode


R을 통한 통계분석은 많은 in-built 함수들을 통해 이루어진다. 이러한 함수들은 대부분 R base package에 속해있고, vector들을 다른 argument들과 함께 input으로 받아 결과를 출력해준다. 이번 포스팅에 다룰 내용은 mean, median, mode 함수이다. 



1. Mean 


문법 


mean(x, trim = 0, na.rm = FALSE, ...)


  • x : input vector
  • trim : 정렬된 vector에서 양 극단에서의 일정 부분을 뺄 때 사용함
  • na.rm : missing value를 제거하고 계산할 때 사용

예제

# Create a vector. 
x <- c(12,7,3,4.2,18,2,54,-21,8,-5)

# Find Mean.
result.mean <- mean(x)
print(result.mean)


[1] 8.22



Trim Option 사용하기


# Create a vector.
x <- c(12,7,3,4.2,18,2,54,-21,8,-5)

# Find Mean.
result.mean <-  mean(x,trim = 0.3)
print(result.mean)


Trim을 사용하면 양 극단에서 일정부분을 빼고 계산한다. 0.3일 경우 양 끝에서 전체 데이터의 0.3 만큼을 제외한다. 이 경우에 전체데이터가 10개이므로 양 끝에서 3개씩을 뺀다. 즉 정렬된 벡터 (−21, −5, 2, 3, 4.2, 7, 8, 12, 18, 54) 에서 (−21,−5,2) (12,18,54) 을 뺀 평균을 계산한다. 



NA 옵션 적용하기


# Create a vector. 
x <- c(12,7,3,4.2,18,2,54,-21,8,-5,NA)

# Find mean.
result.mean <-  mean(x)
print(result.mean)

# Find mean dropping NA values.
result.mean <-  mean(x,na.rm = TRUE)
print(result.mean)


[1] NA
[1] 8.22


원래는 오류가 날 것을 na.rm=TRUE 를 통해 NA 값을 제거하고 평균을 구할 수 있다.



2. Median


Median(중위수)는 전체 데이터에서 중앙에 있는 값을 뜻한다. Median() 함수는 이 값을 구하기 위해 사용된다.


문법 


median(x, na.rm = FALSE)



# Create the vector.
x <- c(12,7,3,4.2,18,2,54,-21,8,-5)

# Find the median.
median.result <- median(x)
print(median.result)



3. Mode 


Mode(최빈값)은 데이터에서 가장 많이 등장한 값이다. 안타깝게도 R에는 Mode를 구하는 in-built function이 없다. 직접 정의한 getmode() 함수를 통해 Mode를 구해보자.


# Create the function.
getmode <- function(v) {
   uniqv <- unique(v)
   uniqv[which.max(tabulate(match(v, uniqv)))]
}

# Create the vector with numbers.
v <- c(2,1,2,3,1,2,3,4,1,5,5,3,2,3)

# Calculate the mode using the user function.
result <- getmode(v)
print(result)

# Create the vector with characters.
charv <- c("o","it","the","it","it")

# Calculate the mode using the user function.
result <- getmode(charv)
print(result)


[1] 2
[1] "it"



이렇게 정의된 getmode 함수는 위처럼 문자열에도 적용할 수 있다.



아래 튜토리얼을 참고한 포스팅입니다.

https://www.tutorialspoint.com/r/r_mean_median_mode.htm

'Tools > R' 카테고리의 다른 글

R - 단순회귀분석  (0) 2017.05.21
R - (10) 리스트(List)  (0) 2017.03.04
R - (9) 벡터  (0) 2017.02.23
R - (8) 문자열 (Strings)  (0) 2017.02.23
R을 통한 2017년 대선 주자들 페이스북 분석  (5) 2017.02.21