08. R에서 사용하는 기본 함수 이해프로그래밍 언어/R2024. 8. 24. 23:00
Table of Contents
R은 강력한 데이터 분석 및 시각화 도구로서, 다양한 함수들을 통해 데이터를 효율적으로 처리하고 분석할 수 있습니다. 특히, R에서 제공하는 기본 함수들은 데이터 조작, 탐색, 통계 계산, 시각화 등 여러 작업을 손쉽게 수행할 수 있도록 도와줍니다. 이 글에서는 R에서 자주 사용되는 기본 함수들을 정리하여 소개하고자 합니다. R을 처음 접하신 분들이나, 기본기를 다시 점검하고 싶은 분들에게 유용한 참고자료가 되기를 바랍니다.
R에서 자주 사용하는 기본 함수
기본 연산 및 통계 함수
- sum(x):
- 벡터 x의 모든 요소를 더한 값을 반환합니다.
- 예: sum(c(1, 2, 3, 4))은 10을 반환합니다.
- mean(x):
- 벡터 x의 평균을 계산합니다. 이는 모든 요소의 합을 요소의 개수로 나눈 값입니다.
- 예: mean(c(1, 2, 3, 4))은 2.5를 반환합니다.
- median(x):
- 벡터 x의 중앙값을 반환합니다. 정렬된 값들 중 중간에 위치한 값을 의미합니다.
- 예: median(c(1, 3, 2, 4))은 2.5를 반환합니다.
- sd(x):
- 벡터 x의 표준편차를 계산하여 반환합니다. 표준편차는 데이터가 평균으로부터 얼마나 퍼져있는지를 나타냅니다.
- 예: sd(c(1, 2, 3, 4))은 약 1.29를 반환합니다.
- var(x):
- 벡터 x의 분산을 계산합니다. 분산은 각 데이터가 평균으로부터 얼마나 떨어져 있는지를 제곱하여 평균한 값입니다.
- 예: var(c(1, 2, 3, 4))은 약 1.67을 반환합니다.
- min(x), max(x):
- 벡터 x의 최소값 또는 최대값을 반환합니다.
- 예: min(c(1, 2, 3, 4))은 1, max(c(1, 2, 3, 4))은 4를 반환합니다.
- range(x):
- 벡터 x의 최소값과 최대값을 벡터로 반환합니다.
- 예: range(c(1, 2, 3, 4))은 c(1, 4)를 반환합니다.
- quantile(x, probs):
- 벡터 x의 특정 백분위수(quantile)를 계산합니다.
- 예: quantile(c(1, 2, 3, 4, 5), 0.25)은 2를 반환합니다.
- cumsum(x):
- 벡터 x의 누적 합계를 반환합니다.
- 예: cumsum(c(1, 2, 3))은 c(1, 3, 6)을 반환합니다.
- diff(x):
- 벡터 x의 연속된 값들 사이의 차이를 계산합니다.
- 예: diff(c(1, 3, 6))은 c(2, 3)을 반환합니다.
데이터 조작 및 탐색 함수
- length(x):
- 벡터 x의 요소 개수를 반환합니다.
- 예: length(c(1, 2, 3))은 3을 반환합니다.
- dim(x):
- 행렬 또는 데이터프레임 x의 차원(행과 열의 수)을 반환합니다.
- 예: dim(matrix(1:6, nrow = 2))은 c(2, 3)을 반환합니다.
- nrow(x), ncol(x):
- 데이터프레임 또는 행렬 x의 행 수와 열 수를 반환합니다.
- 예: nrow(matrix(1:6, nrow = 2))은 2, ncol(matrix(1:6, nrow = 2))은 3을 반환합니다.
- head(x, n), tail(x, n):
- 데이터프레임 또는 벡터 x의 처음 n개 또는 마지막 n개 요소를 반환합니다.
- 예: head(1:10, 3)은 c(1, 2, 3)을 반환하고, tail(1:10, 3)은 c(8, 9, 10)을 반환합니다.
- unique(x):
- 벡터 x의 중복되지 않은 고유한 값들을 반환합니다.
- 예: unique(c(1, 1, 2, 2, 3))은 c(1, 2, 3)을 반환합니다.
- table(x):
- 벡터 x의 각 요소가 나타나는 빈도를 반환합니다.
- 예: table(c(1, 1, 2, 3, 3))은 1: 2, 2: 1, 3: 2를 반환합니다.
인덱싱 및 서브셋팅 함수
- [ ]:
- 특정 위치의 요소를 선택하거나 하위 집합을 추출합니다.
- 예: x[1:3]은 벡터 x의 첫 3개 요소를 반환합니다.
- which(x):
- 논리적 조건을 만족하는 인덱스를 반환합니다.
- 예: which(c(1, 3, 5) > 2)은 c(2, 3)을 반환합니다.
- subset(x, condition):
- 데이터프레임 x에서 조건에 맞는 부분 집합을 반환합니다.
- 예: subset(mtcars, mpg > 20)은 mpg가 20보다 큰 행들만 반환합니다.
데이터 프레임 작업 함수
- data.frame():
- 데이터프레임을 생성하는 함수로, 서로 다른 데이터 유형을 결합할 수 있습니다.
- 예: data.frame(x=1:3, y=c('a', 'b', 'c'))은 두 열이 있는 데이터프레임을 만듭니다.
- $:
- 데이터프레임의 특정 열에 접근하는 데 사용됩니다.
- 예: df$name은 데이터프레임 df의 name 열을 반환합니다.
- rbind(x, y), cbind(x, y):
- rbind는 두 데이터프레임 또는 행렬을 행(row) 단위로 결합하고, cbind는 열(column) 단위로 결합합니다.
- 예: rbind(data.frame(a=1), data.frame(a=2))은 행을 추가한 데이터프레임을 만듭니다.
- merge(x, y, by, all):
- 두 데이터프레임을 공통 열 또는 인덱스를 기준으로 병합합니다.
- 예: merge(df1, df2, by="id")은 두 데이터프레임을 id 열을 기준으로 병합합니다.
데이터 변환 함수
- as.numeric(x), as.character(x), as.factor(x):
- 벡터 x를 각각 숫자형, 문자형, 팩터형으로 변환합니다.
- 예: as.numeric("3")은 3을 반환하고, as.character(3)은 "3"을 반환합니다.
- factor(x):
- 벡터 x를 팩터(factor)로 변환합니다. 팩터는 범주형 데이터를 나타내는 데 사용됩니다.
- 예: factor(c("low", "medium", "high"))은 3레벨의 팩터를 만듭니다.
그래프 및 시각화 함수
- plot(x, y):
- x와 y 데이터를 사용해 기본 산점도를 그립니다.
- 예: plot(1:10, 1:10)은 1부터 10까지의 값들을 그래프로 그립니다.
- hist(x):
- 벡터 x의 히스토그램을 그립니다. 히스토그램은 데이터의 분포를 시각화합니다.
- 예: hist(rnorm(100))은 정규분포를 따르는 100개의 값에 대한 히스토그램을 그립니다.
- boxplot(x):
- 벡터 x의 박스플롯(boxplot)을 그립니다. 박스플롯은 데이터의 중앙값, 사분위수 및 이상값을 시각화합니다.
- 예: boxplot(mpg ~ cyl, data=mtcars)은 실린더 수에 따른 mpg의 박스플롯을 그립니다.
- barplot(height):
- 주어진 height에 대한 막대 그래프를 그립니다.
- 예: barplot(table(mtcars$cyl))은 실린더 수에 대한 막대 그래프를 그립니다.
- lines(x, y):
- 기존 그래프에 선을 추가합니다.
- 예: lines(1:10, (1:10)^2)은 기존 그래프에 제곱된 선을 추가합니다.
- points(x, y):
- 기존 그래프에 점을 추가합니다.
- 예: points(1:10, (1:10)^2)은 기존 그래프에 점을 추가합니다.
- legend(x, y, legend):
- 그래프에 범례를 추가합니다.
- 예: legend("topright", legend=c("Data1", "Data2"))은 그래프의 오른쪽 상단에 범례를 추가합니다.
제어문 작성 함수
- if (condition) { ... } else { ... }:
- 조건에 따라 코드 블록을 실행할 수 있습니다.
- 예: if (x > 0) { print("Positive") } else { print("Non-positive") }
- for (i in sequence) { ... }:
- 반복문으로, sequence에 있는 각 요소에 대해 코드 블록을 반복 실행합니다.
- 예: for (i in 1:5) { print(i) }은 1부터 5까지의 숫자를 출력합니다.
- while (condition) { ... }:
- 주어진 조건이 TRUE인 동안 코드 블록을 반복 실행합니다.
- 예: while (x < 10) { x <- x + 1 }
데이터 요약 함수
summary(object)
- summary() 함수는 주어진 객체의 요약 통계량 또는 정보를 반환합니다. 이 함수는 객체의 종류에 따라 다르게 작동하며, 매우 유용한 함수입니다.
- 객체가 벡터인 경우: 최소값, 1사분위수, 중앙값, 평균, 3사분위수, 최대값을 반환합니다.
- 객체가 데이터프레임인 경우: 각 열에 대해 요약 통계를 제공합니다. 숫자형 데이터는 벡터와 유사하게 요약되고, 범주형 데이터는 각 범주의 빈도가 요약됩니다.
- 객체가 팩터인 경우: 각 레벨의 빈도수를 반환합니다.
- 객체가 선형 모델(lm) 객체인 경우: 모델의 통계적 요약(계수, 표준 오차, t-값, p-값 등)을 반환합니다.
R의 기본 함수들은 데이터 분석 작업에서 매우 유용하게 사용됩니다. 이러한 함수들을 잘 활용하면 데이터를 더 효과적으로 처리하고, 원하는 인사이트를 빠르게 도출할 수 있습니다. 처음에는 다소 낯설게 느껴질 수 있지만, 꾸준히 사용하다 보면 점차 익숙해지고, R의 강력한 기능들을 제대로 활용할 수 있게 될 것입니다. 앞으로도 다양한 R의 기능들을 탐구하며 더욱 풍부한 데이터 분석 경험을 쌓아가시길 바랍니다.
감사합니다!
728x90
'프로그래밍 언어 > R' 카테고리의 다른 글
10. R의 기본 문법과 데이터 조작 심화 - 조건문과 반복문 이해 (0) | 2024.08.27 |
---|---|
09. R에서 사용하는 기본 함수 이해 - 사용자 정의 함수 생성 (0) | 2024.08.25 |
07. R에서의 기본 연산자 이해 (산술, 비교, 논리, 결측값 처리 연산자) (0) | 2024.08.22 |
06. R 프로그램에서 파일 읽기 및 쓰기 (0) | 2024.08.20 |
05. R의 변수와 데이터 타입 및 구조 3️⃣ (array, 데이터 요약 및 시각화, 데이터 타입 확인 및 변환) (0) | 2024.08.17 |
@ourkofe's story :: ourkofe
데이터 분석을 공부하고 카페를 열심히 돌아다니는 이야기
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!