R로 하는 기초통계에서는 처음 R을 접하는 사람에게 쉽게 적용 할 수 있는 간단한 계산, 데이터 입력, 그래프 그리는 법 부터 시작 한다. 일단 기초적인 사용법 부터 알아야, 그 다음 단계를 나갈 수 있다.
간단한 계산, 데이터 프레임, 그래프 그리는 법 |
1. 간단한 계산
Rstudio를 열어 간단하게 계산 하여 보자
RStudio의 화면 구성은 아래와 같다.
Rstudio 화면 구성 |
# 계산기 실행 하기
123 + 456
## [1] 579
123 * 456 - 97 /(654 +321)
## [1] 56087.9
위에서 # 기호는 주석 처리하는 기호로써 실행 되지 않는다. 주석은 복잡 한 코드를 칠 때, 기억해야 할 내용을 메모 할 때, 주로 활용된다.
원주율 함수 사용하여 표시 하는 방법은 아래와 같다.
# 원주율 표시하기
pi
## [1] 3.141593
print(pi, digits = 16)
## [1] 3.141592653589793
여기에서 digits는 코드가 기본으로 표시되는 자릿수를 표현 하는 옵션이다.
변수의 값을 대입 할때는 <- 또는 = 으로 사용한다. = 은 연산자와 혼동이 있어, <-로 많이 사용된다.
# 변수에 숫자 대입
x = 12345 # 대입
x <- 12345 # 같은 결과
x
## [1] 12345
2. 벡터
vector는 R에서 다루는 가장 간단 한 구조로는 단일 원소에 숫자를 나열 한 것이다.
vector를 입력할 때 c()라는 함수를 사용한다. c는 combine 또는 concatenate(결합하다)의 첫 글자이다.
# vector의 계산
x = c(3, 14, 2.718, 0.577)
x
## [1] 3.000 14.000 2.718 0.577
x + 10 # 연산은 각 성분에 작용한다.
## [1] 13.000 24.000 12.718 10.577
x*10 # *는 곱셉기호
## [1] 30.00 140.00 27.18 5.77
sqrt(x) #sqrt() 제곱근 함수
## [1] 1.7320508 3.7416574 1.6486358 0.7596052
length(x) # 벡터의 길이
## [1] 4
sum(x) # 합
## [1] 20.295
mean(x) #평균
## [1] 5.07375
sd(x) #표준 편차
## [1] 6.04838
x[1] # 배열 1의 성분
## [1] 3
x[2:3] # 배열 2~3의 성분
3. 도움말
아래의 명령어를 입력 하면 작성된 도움말을 브라우저에서 읽을 수 있다.
help.start()
만약 아무런 일이 없다면,
‘http://127.0.0.1:29469/doc/html/index.html’를 열어 보아야 한다.
R 도움말 |
위에 있는 도움말은 R Basic에 있는 도움말이다. R Basic은 매우 어려워 별도의 패키지를 사용한다. 예를 들면, 엑셀을 읽거나, 계산 결과 값을 엑셀로 저장 할때는 "rio"라는 패키지를 사용하면 매우 쉽게 할 수 있다.
평균이라는 도움말이 필요할 때는 아래와 같이 한다.
?mean
help(mean)
R을 치면서 함수의 뜻을 잘 모를 경우 사용한다. 하지만, 대부분 필요한 내용이 있으면 구글링 하면서 많이 참조를 하게 된다.
4. 데이터 입력
데이터의 개수가 적다면 아래와 같이 c() 함수를 사용해 직접 입력 한다.
# 데이터 입력
신장 = c(168.5, 172.8, 159.0)
체중 = c(69.5, 75.0, 56.5)
# BMI 데이터 계산
체중 / (신장/100)^2
## [1] 24.47851 25.11735 22.34880
# 소숫점 처리를 위한 round 함수 사용
round(체중 / (신장/100)^2)
## [1] 24 25 22
round(체중 / (신장/100)^2, 1)
## [1] 24.5 25.1 22.3
5. 데이터 프레임
신장, 체중 등은 함수 data.frame()을 사용해 하나의 데이터 프레임으로 묶는다.
# 데이터 프레임
신장 = c(168.5, 172.8, 159.0)
체중 = c(69.5, 75.0, 56.5)
x = data.frame(신장, 체중)
x
## 신장 체중
## 1 168.5 69.5
## 2 172.8 75.0
## 3 159.0 56.5
# 데이터 프레임에 신장이라는 열(필드)을 가져오려면 $서브 세팅 이용
x$신장
## [1] 168.5 172.8 159.0
# 데이터 열에 성별과 BMI를 더함
x$성별 = c("M", "M", "F")
x$BMI = round(체중 / (신장/100)^2, 1)
x
## 신장 체중 성별 BMI
## 1 168.5 69.5 M 24.5
## 2 172.8 75.0 M 25.1
## 3 159.0 56.5 F 22.3
내가 초창기 R을 진입하였을때, 많이 사용 하였던 방법이 매우 직관적이고 쉽다. 나중에 복잡한 계산을 하려면, dplyr 패키지의 mutate로 연산하면 된다.
정규분포를 설명할 난수 백만 개를 만들어 보고 히스토그램을 그린다.
# 정규분포 난수를 만드는 함수
x = rnorm(1000000)
hist(x) # 히스토그램 그래프
# 본 내용을 길벗 출판사의 "누구나 통계 R"을 참고 하여 작성 하였습니다.
댓글 없음:
댓글 쓰기