본문 바로가기
R

R ) assign, get함수 알아보기 문자열을 객체로 사용하고 불러오기 in r

by C.Mond 2022. 8. 19.
728x90
728x90

안녕하세요 오늘은 assign, get함수에 대해 공부한것을 기록하려 합니다.

 

assign함수는 객체를 문자열로 일력받아 객체를 생성할 수 있게 해주는 함수 입니다.

 

보통 우리가 객체를 만들때는 a <- 1 이런식으로 생성을 하죠.

 

하지만 assgin함수를 이용하면 문자열을 인수로 받아 객체를 생성해 줍니다.

 

R을 사용하다보면 문자열을 이용해 객체를 생성할 수 없을까...? 하는 생각이 들때가 있습니다. 이때 사용할 수 있는 함수 입니다.

 

a <- 1
"e" <- 1

위와같이 입력하면 문자열을 이용하더라도 객체가 만들어지네요...?ㅎㅎㅎ

하지만 아래와 같은 경우엔 다릅니다.

 

b <- c("c","d")
b[1] <- 1

제 의도는 b객체에 담겨있는 요소 중 첫번째 요소인 "c"를 객체로 만들어 1을 저장하고 싶었습니다.

하지만 b list가 바뀌어 버리는 현상이 나타납니다.

이때 assign을 사용하면 원하는 결과를 만들 수 있습니다.

b <- c("c","d")
assign(b[1],1)

위와 같이"c"라는 객체가 생긴것을 볼 수 있습니다.

 

다음은 문자열을 이용해 객체를 불러올 수 있는 get함수를 보겠습니다.

abcde <- 1
get("abcde")

위와 같이 객체가 불러와진것을 볼 수 있습니다.

 

이렇게도 가능합니다.

f <- "b"
get(paste0("a",f,"c","d","e"))

이렇게 paste0를 이용해서도 불러올 수 있습니다.

 

get이나 assign이나 자주 사용하는것 같지는 않지만 가끔 사용하는것 같습니다ㅎㅎㅎ

728x90
728x90

댓글