R로 하는 기초통계 [강의자료 ] 간단한 계산, 데이터 입력, 도움말, 데이터 프레임, 그래프 그리는 법

  R로 하는 기초통계에서는 처음 R을 접하는 사람에게 쉽게 적용 할 수 있는 간단한 계산, 데이터 입력, 그래프 그리는 법 부터 시작 한다.   일단 기초적인 사용법 부터 알아야,  그 다음 단계를 나갈 수 있다. 


간단한 계산, 데이터 프레임, 그래프 그리는 법



1. 간단한 계산 

   Rstudio를 열어 간단하게 계산 하여 보자 

RStudio의 화면 구성은 아래와 같다. 

Rstudio 화면 구성


RStudio 화면은 기본적으로 Script 창이 있고,  콘솔 창이 있다.  Script창에서는 명령어를 넣고, 실행을 시키려면, 명령어 뒤에 커서를 놓은 다음 crtl+enter를 치면, 콘솔창에  결과가 아래와 같이 나타 난다. 위의 예제는 일반적인 간단한 계산 예제이다. 


# 계산기 실행 하기
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로 연산하면 된다. 


6. 그래프 그리는 법
   정규분포를 설명할 난수 백만 개를 만들어 보고 히스토그램을 그린다. 
 
# 정규분포 난수를 만드는 함수
x = rnorm(1000000)
hist(x) # 히스토그램 그래프



hist(x, col = "gray", main = "(히스토그램 예)")

R 히스토그램의 예


  R을 처음 다루는 사람들에게 사용하는 사람들에게 교육하는 강의자료이다.  

# 본 내용을 길벗 출판사의  "누구나 통계 R"을 참고 하여 작성 하였습니다. 



댓글 없음:

댓글 쓰기

css cheat sheet 클래스 선택자, margin(마진), display , center 조정 간단한 구성 요소

 앞에서는 html의 간단한 sheet를 소개 하였습니다.   html은  주로 골격을 나타나는 것이라, 디자인을 하는데는 css로 하여야 합니다.  아래 코드와 같이 css 관련 하여 매우 간단하게 코딩 하겠습니다.  body 부분의 css 코딩  ...