-
R 기초
1-1 함수와 객체
-
기초는 R studio로 작성(R studio에 익숙해지기 위함) 이후 jupyter notebook으로 작성
- https://cran.r-project.org/bin/windows/base/
- https://rstudio.com/products/rstudio/download/
함수 사용 방법
# hello world 출력 print('Hello World') [1] "Hello World"
# R은 계산기 9*8*7*6*5*4*3*2*1
# factorial(9) factorial(9)
# 함수 인자 rep(x='밥먹자', times=5)
# 함수 인자 생략 rep('밥먹자', 5)
# 함수 인자 위치 바꾸기 rep(times=5, x='밥먹자')
# 함수 인자 생략시 순서 중요 rep(5, '밥먹자') Warning message in eval(expr, envir, enclos): "강제형변환에 의해 생성된 NA 입니다" Error in rep(5, "밥먹자"): 'times' 인자가 잘못되었습니다 Traceback:
참고) 함수 help : 함수 위에서 F1
그래프 함수 plot()
plot(10,10)
plot(c(5,7), c(20,30))
# runif() 랜덤 숫자 리턴 plot(runif(100), runif(100))
객체(변수) 사용
obj1 <- 1 obj1
obj2 = 2 obj2
자주쓰는 단축키 crtl + shift + m %>% alt + - <-
str1 <- 'Hello ' str2 <- 'R' # paste() 여러 객체를 합쳐서 보여 줌 paste(str1,str2)
bool1 <- TRUE bool2 <- FALSE paste(bool1, bool2)
R의 자료 최소 단위는 벡터
-
R에는 포인터 개념이 없음
i <- 3 # i는 스칼라가 아니고 벡터
i1 <- 10 i2 <- 20 i1 <- i2 i2 <- 100
# i1의 값은 ?
객체(변수)에 함수 넣기
-
함수의 리턴 값이 들어감
excel1 <- read.csv('r-ggagi-data/example_studentlist.csv') #excel1
백터를 다루는 함수 c()
- c() 안에 벡터로 묶을 데이터 입력
- 백터는 한가지 데이터 형식만 가짐
a <- c(1,2,3) a
is.vector(a)
b <- 1 is.vector(b)
s1 <- c('aaa','bbb','ccc') s1
# 모두 문자열로 변경됨 s2 <- c(111,'aaa') s2
백터의 추가 / 삭제 / 수정
-
R은 index를 1부터 함
obj <- c(2,3,4)
obj <- c(1, obj) obj
obj <- c(obj, 5) obj
# 중간에 넣기 obj <- append(obj,2.5, after = 2) obj
# 삭제 obj <- obj[-3] obj
# 마지막 데이터 삭제 obj <- obj[-length(obj)] obj
# 특정 위치값 변경 obj[2] <- 22 obj
# 조건으로 값 변경 obj <- c(1,2,3,1,2,3,1,5,2,3,1,2,3,1,2,3,5) obj obj[obj == 5] <- 55 obj
Tip
-
'alt + =' 주의할 것
- 단축키 https://support.rstudio.com/hc/en-us/articles/200711853-Keyboard-Shortcuts
- Alt + Shift + K 해도 단축키 보기 가능
# 만든 모든 객체(변수) 보기 ls()
# 자세히 보기 ls.str() a : num [1:3] 1 2 3 b : num 1 excel1 : 'data.frame': 17 obs. of 8 variables: $ name : Factor w/ 17 levels "강수친","김길동",..: 2 12 17 6 10 7 1 14 13 9 ... $ sex : Factor w/ 2 levels "남자","여자": 1 2 1 1 2 2 2 2 1 1 ... $ age : int 23 22 24 23 20 21 22 23 23 22 ... $ grade : int 3 2 4 3 1 2 1 1 3 2 ... $ absence : Factor w/ 2 levels "무","유": 2 1 1 1 2 1 1 1 1 1 ... $ bloodtype: Factor w/ 4 levels "A","AB","B","O": 4 2 3 2 1 4 4 1 3 3 ... $ height : num 165 170 175 182 168 ... $ weight : num 68.2 53 80.1 85.7 49.5 52 45.3 55 64.2 61.3 ... obj : num [1:17] 1 2 3 1 2 3 1 55 2 3 ... s1 : chr [1:3] "aaa" "bbb" "ccc" s2 : chr [1:2] "111" "aaa"
# 객체 지우기 rm(a,b) ls()
# 모든 객체 지우기 rm(list = ls()) ls()
패키지(Package)
# 패키지 설치 install.packages('rgl') Installing package into 'C:/Users/205/Documents/R/win-library/3.6' (as 'lib' is unspecified) also installing the dependencies 'miniUI', 'webshot', 'manipulateWidget' package 'miniUI' successfully unpacked and MD5 sums checked package 'webshot' successfully unpacked and MD5 sums checked package 'manipulateWidget' successfully unpacked and MD5 sums checked package 'rgl' successfully unpacked and MD5 sums checked The downloaded binary packages are in C:\Users\205\AppData\Local\Temp\RtmpQFLiJf\downloaded_packages
# 패키지 사용 library('rgl')
# rgl 패키지 함수 사용 example(plot3d)
'R' 카테고리의 다른 글
기술통계 (0) 2020.07.06 데이터 개념 예제로 이해하기 (0) 2020.07.06 데이터 개념 이해하기 (0) 2020.07.02 R 필수 설치 패키지 (0) 2020.07.02 Python 가상환경 생성 및 R 주피터 노트북 연결 (0) 2020.07.02 -