728x90

R은 통계프로그래밍 언어로 일반인이 사용하기 쉽게 만든 언어이다.

그러나 필자는 프로그래머이고 비 프로그래머의 인식으로 접근하기 힘든면이 있다.

강의 또한 그러하다. 강의 곳곳에 프로그래머적인 시선이 들어있으니 참고하여 필요없으면 넘겨라.


참고:

[개발환경 셋팅하기]R설치 및 환경변수 등록-(1)

[개발환경 셋팅하기]RStudio설치-(2)

[개발환경 셋팅하기]RStudio프로젝트 만들기-(3)


R에서는 변수를 코드를 통해서 생성할 수 있다.

이런기능이 지원되는 언어도 별로없고 사실 다른 언어에서는 이기능을 지원하더라도 크게 쓸일이 없다.

그러나 R에서는 은근히 이게 많이 사용되는데 변수명을 컬럼명이나 로우명으로 많이 쓰기 때문이다.

변수를 생성하는 함수는 assign함수이다.

또한 변수를 코드로 생성가능하니 변수를 코드로 집어내서 반환하는것 역시 가능하다.

ㅇ때 사용하는 함수는 get함수이다.

차례 차례 써보도록 하자.


assign


assign은 변수를 생성하는 함수이다. 사용하는 방식은 되게 쉽다. 한 예시를 보자.


assign('x',10)

assign('y',c())

assign('z',NA)


해당 코드를 실행하고 결과를 보자.



해당 변수가 만들어 진걸 알 수 있다.

굳이 이렇게 귀찮게 만들어야 하나요? 라는 질문을 할 수 있다.

그럼 이렇게 변수를 만들 수도 있지 않을까??


for(i in seq(10)){

  assign(paste0('제',i,'회'),seq(i))

}



for문을 사용하여 여러 변수를 자동으로 생성할 수 있다.

또한 사용자에게 입력을 받아서 변수를 만들 수도 있다.


assign('ins',readline('Insert:'))


이렇게 사용하면 사용자에게 입력받아서 그 값을 변수에 저장할 수 있는 것이다.



만약 17을 입력했다고 가정하자.



그럼 변수가 저장된걸 확인할 수 있다.


get


get은 문자열로 변수를 반환시킬 수 있다.


x<-10

print(get('x'))



보통 assign으로 만든 변수는 코드의 상황에 따라서 변하기 때문에 assign으로 만든 변수는 get으로 호출하는 경우가 많다.

'Programming > R' 카테고리의 다른 글

[R-29]anova분석(aneway.test)  (0) 2017.11.21
[R-27]T-test(t.test)  (0) 2017.11.21
[R-26]히스토그램(hist)  (0) 2017.11.21
[R-25]샤피로-윌크 검정(shapiro.test)  (0) 2017.11.20
[R-24]콜모고로프-스미노프검정(ks.test)  (1) 2017.11.20

+ Recent posts