728x90
반응형
어떤 데이터에서 그 일부를 얻는 과정을 서브세팅이라고 한다. R은 아주 다양한 서브세팅 방법을 제공한다. 그중 가장 흔한 것이 $,[,[[ 등을 사용한 서브세팅이다. 이것들은 비슷한 것 같으면서도 조금씩 다르다.
샤이니 앱을 만들 때 서브세팅을 하는 경우에 가장 중요한 사실은 [ 또는 [[ 는 프로그램적으로 원하는 변수를 지정할 수 있지만 $는 그러면 안된다는 것이다. 이를테면 input$sel에서 mtcars 데이터 프레임에 있는 변수들을 선택하도록 앱을 구성했을 때, 서브세팅을 할 때에는 다음과 같이 해서는 안된다.
> mtcars$`input$sel` # NULL 값이 출력
> mtcars[input$sel]
> mtcars[[input$sel]] #정상 값이 출력
샤이니 앱에서 반응성 값(reactive values)에 접근할 때도 비슷한 방법으로 접근해야 한다. 일반적으로 $을 사용해서 input$sel과 같은 방법을 사용한다. 그런데 이것을 프로그램적으로 접근하려면 [[ 을 사용해야 한다.
참고로 [ 을 사용하면 반응성 값에 접근하면 오류가 발생하므로 다음과 같은 방법을 쓴다.
> x <- "sel"
> input[[x]]
반응형
'전공 > R프로그래밍' 카테고리의 다른 글
R프로그래밍 16.R 환경 (0) | 2019.08.01 |
---|---|
R프로그래밍 15. R 함수 (0) | 2019.07.31 |
R 프로그래밍 13. 데이터 프레임 서브 세팅 (0) | 2019.07.10 |
R 프로그래밍 12. R에 내장된 데이터셋 (0) | 2019.07.04 |
R프로그래밍 11.팩터(factor) : 카테고리형 데이터를 표현 , 행렬과 배열 (0) | 2019.07.03 |