데이터분석 전문가(ADP)를 위한 R프로그래밍 기초편1
1. 출력함수
print() - 한번에 하나의 객체만 출력
> a <- 3
> print(a)
[1] 3
cat() - 여러 항목을 묶어서 연결된 결과 출력
> cat('yun','dae','hyuck')
yun dae hyuck
> a <- 3
> b <- 4
> cat(a,b)
3 4
2. 할당연산자
<- , <<- , = , -> 사용 가능
<- 이 R에서 표준적으로 사용함
당연하지만 a가 변수일 때 a -> 3은 에러나고 3 -> a로 해야 a에 3이 할당됨
> a <- 3
> print(a)
[1] 3
> a <<- 4
> print(a)
[1] 4
> a = 5
> print(a)
[1] 5
> a -> 6
Error in 6 <- a : invalid (do_set) left-hand side to assignment
> 6 -> a
> print(a)
[1] 6
3. 변수 목록보기
ls(), ls.str() 사용가능
> a <- 3
> ls()
[1] "a"
> ls.str()
a : num 3
4. 변수 삭제하기
rm()을 사용
응용하여 rm(list=ls())로 모든 변수 목록 삭제 가능
5. 벡터 생성
c()를 사용
문자, 숫자, 논리값, 변수를 모두 결합 가능
벡터의 원소 중 하나라도 문자가 있으면 모든 원소의 mode는 문자형태로 변환
> a <- c(3,4,5)
> print(a)
[1] 3 4 5
> b <- c('yun',4,5)
> print(b)
[1] "yun" "4" "5"
6. 지역변수와 전역변수
사용자 정의 함수 밖에서 값을 할당하면 전역변수가 되고
사용자 정의 함수 안에서 값을 할당하면 지역변수가 된다
#1. 함수 바깥에서 변수 할당하기
> n <- 1 #함수 바깥에서 할당 #전역변수
> f <- function() {
+ print(n)
+ }
> f() #n을 굳이 넣지 않아도 n이 전역변수라서 그대로 함수에 들어감
[1] 1
>
#2. 함수 안에서 변수 할당하기
> f <- function() {
+ n <- 2 #함수 안에서 할당 #지역변수
+ }
> f()
#함수가 끝나면 n은 소실
> n
에러: 객체 'n'를 찾을 수 없습니다
그러나 사용자 정의 함수 안에서 <<-으로 값을 할당하면 전역변수가 된다
혹은 assign("변수이름", "변수값", envir = .GlobalEnv)
#1. "<<-" 이용하여 함수 안에서 전역변수 할당하기
> f <- function() {
+ n <<- 2 #함수 안에서 할당
+ }
> f()
> n
[1] 2
#2. assign() 함수를 이용하여 함수 안에서 전역변수 할당하기
> f <- function() {
+ assign("n", 2, envir = .GlobalEnv) #함수 안에서 할당
+ }
> f()
> n
[1] 2
7. 사용자 정의 함수
function( <매개변수> ) {
<expression>
return( <value> )
}
python이랑은 다르게 return할때 ()를 사용함
> f <- function(x,y){
+ z <- x+y
+ return(z)
+ }
> print(f(3,4))
[1] 7
8. 수열
콜론 : 이나 seq 함수 사용
시작값에서 최종값까지 연속적인 숫자들의 열을 생성
seq함수는 간격과 수열의 길이를 제한할 수 있다
> 1:5
[1] 1 2 3 4 5
> 9:-2
[1] 9 8 7 6 5 4 3 2 1 0 -1 -2
> seq(from = 0, to = 20, by = 2)
[1] 0 2 4 6 8 10 12 14 16 18 20
> seq(from = 0, to = 20, length.out = 5)
[1] 0 5 10 15 20
9. 반복함수 rep
rep함수는 숫자나 변수의 값들을 인자에 지정한 횟수만큼 반복함
수열에서는 each랑 time이 용법이 달라진다
> rep(1, time = 5)
[1] 1 1 1 1 1
> rep(1:4, each = 2)
[1] 1 1 2 2 3 3 4 4
> rep(1:4, time = 2)
[1] 1 2 3 4 1 2 3 4
> c <- 3
> rep(c,each=2)
[1] 3 3
10. 논리값
TRUE, FALSE나 T,F로 논리값 표현가능
Python과는 다르게 True와 False는 에러난다
> a <- True
Error: object 'True' not found
> d <- False
Error: object 'False' not found
> a <- TRUE
> a
[1] TRUE
> b <- T
> b
[1] TRUE
> c <- FALSE
> c
[1] FALSE
> d <- F
> d
[1] FALSE
11. 문자열추출
substr( <문자열> , 시작점, 끝점 )은 문자열의 시작점부터 끝점까지를 추출함
> substr('Bigdataanalysis', 1,4)
[1] "Bigd"
12. 문자 붙이기
paste함수는 문자열을 sep로 지정한 구분자로 연결시켜준다
> A <- paste('a','b','c', sep = '-')
> A
[1] "a-b-c"
> paste(A,c('e','f'))
[1] "a-b-c e" "a-b-c f"
> paste(A,10,sep='')
[1] "a-b-c10"
참고
https://blog.naver.com/PostView.naver?blogId=pmw9440&logNo=221879555198
'프로그래밍 > R 프로그래밍' 카테고리의 다른 글
데이터분석 전문가(ADP)를 위한 R프로그래밍 기초편5 (0) | 2022.02.08 |
---|---|
데이터분석 전문가(ADP)를 위한 R프로그래밍 기초편4 (0) | 2022.02.06 |
데이터분석 전문가(ADP)를 위한 R프로그래밍 기초편3 (0) | 2022.02.05 |
데이터분석 전문가(ADP)를 위한 R프로그래밍 기초편2 (0) | 2022.01.31 |
코딩테스트를 위한 R 기초 벼락치기 (0) | 2021.10.30 |