R 언어

R 시작 # chap01_Basic

hansulin922 2021. 5. 10. 17:35

# 주석문

 

명령어 실행 방법 

 

Interaction 방식

줄 선택 + Ctrl + R 또는 Ctrl + Enter

 

패키지 사용

  • -R에서 제공하는 패키지(Package)는 처리할 자료(data)와 기능(function) 그리고 알고리즘(Algorithm)등이 하나의 꾸러미 형태로 제공.
  • -패키지는 CRAN Site에서 다운로드하여 사용자의 컴퓨터에 설치할 수 있음.
  • -R 프로그래밍의 실력은 얼마나 많은 패키지를 효과적으로 데이터 분석에 적용할 수 있는가 하는 능력에 따라 좌우

R 패키지 보기

dim(available.packages()) # 17517 17. 17개의 특징을 가지는 17517개 패키지

R 패키지 목록 보기

available.packages()

R Session 보기

sessionInfo()

stringr 패키지 설치

install.packages("stringr")

설치된 패키지 확인

installed.packages()

패키지 메모리 로드

library(stringr)

현재 로드된 패키지 확인

search()

library(blm) #에러. 일반적으로 사용.
require(blm) #경고

패키지 삭제

remove.packages("stringr")

기본 데이터 셋 보기

data()

사용가능한 데이터셋과 설명

기본 데이터 셋으로 히스토그램 그리기

단계 1 : 빈도수를 기준으로 히스토그램 그리기

hist(Nile)

Nile 데이터셋 :  Flow of the River Nile

단계 2 : 밀도를 기준으로 히스토그램 그리기

hist(Nile, freq = F)

단계 3 : 단계2의 결과에 분포 곡선을 추가

lines(density(Nile))

히스토그램을 파일로 저장하기

par(mfrow=c(1,1))
pdf("C:/workspaces/Rwork/output/batch.pdf")
hist(rnorm(20))
dev.off()

스칼라(scalar) 변수 사용예

var1 <- 0 #오른쪽값을 왼쪽에 저장, =와 유사
var1
var1 <- 1
var1
var2 <- 2
var2

'변수.멤버' 형식의 변수 선언

goods.code <- 'a001'
goods.name <- '냉장고'
goods.price <- 850000
goods.des <- '최고 사양, 동급 최고 품질'

벡터 변수 사용예

java의 1차원 배열과 유사.

배열? 동일한 자료형일 경우에! 연속적으로 2개 이상 저장해서 보관하고 싶을 때,

메모리를 연속적으로 할당. 하나의 변수 이름으로 해당 데이터들을 관리. 인덱스로 각각.

names <- c("홍길동","이순신","유관순")
names

함수

sum(10, 20, 30)
sum(10, 20, 30, NA)   #NA(Not Available), 결측치. 결과 NA
sum(10, 20, 30, NA, na.rm = T)   #매개변수 속성으로 처리

#자료형 확인
string <- "홍길동"
string

is.character(string)   #자료형이 character(문자열)인가?

int <- 20
is.numeric(int)   #수치형의 데이터인가?

x <- is.numeric(int)
x

is.logical(x)   #입력으로 전달된 값이 T,F 인가?

ls() #현재 사용중인 변수객체 보기

문자 원소를 숫자 원소로 형 변환하기

x <- c(1,2,"3")
x # "1" "2" "3" 서로 다른 자료형의 데이터셋은 모두 char로

result <- x * 3 # Error. 곱셈은 수치형만 가능.
result <- as.numeric(x)*3 #as. 자료형 변환
result # 3 6 9

복소수 자료 생성과 형변환

z <- 5.3 -3i
Re(z) #복소수에서 실수만 리턴. real
Im(z) #허수만 리턴. img
is.complex(z) #복소수인가? T
as.complex(5.3) #5.3+0i 복소수로 형변환

#데이터 전처리, 필터링 등 가공처리 시 유용하게 활용.

스칼라 변수의 자료형과 자료 구조 확인 //mode와 class 결과 동일

mode(int) # "numeric"
mode(string) # "character"
mode(x) # "logical"

class(int) # "numeric"
class(string) # "character"
class(x) # "logical"

문자 벡터와 그래프 생성

gender <- c("man","woman","woman","man","man")
plot(gender) #Error. 입력이 수량의 형태여야만 시각화된 결과를 출력.

as.factor() 함수를 이용해 요인형 변환

Ngender <- as.factor(gender) # 변수에서 가질 수 있는 범주
table(Ngender)
#Ngender
#man woman #범주별로 구분
#3 2 #빈도수를 return

factor형 변수로 차트 그리기

plot(Ngender)
mode(Ngender)   # "numeric" 자료형
class(Ngender)   # "factor" 자료 구조