데이터분석 전문가(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 

 

0.18 R에서 전역변수 할당하기

0. 차례 1. 들어가기 2. 함수 바깥 변수의 할당 vs. 함수 안 변수의 할당 3. 함수 안에서 전역 변수로 할당...

blog.naver.com

 

 

TAGS.

Comments