함수 내부에서 데이터 프레임을 제대로 조작하는 데 문제가 있습니다. 제대로 인덱싱하지 않는다는 것을 알고 있지만이를 수정하는 방법을 알 수는 없습니다.함수 내부에서 데이터 프레임 인덱싱 문제가 발생했습니다.
내가 좋아하는, 내 데이터 프레임 요소의 수준을 변경하려면 :
data <- data.frame(X1=c("a","b","c"))
levels(data$X1) <- c("x","y","z")
하지만 내 함수의 같은 내부 할 수없는 것 :
> ex <- function(input,var){
+ levels(input$var) <- c("x","y","z")
+ return(var)
+ }
> test <- ex(data,"X1")
Error in levels(input$var) <- c("x", "y", "z") :
attempt to set an attribute on NULL
> ex2 <- function(input,var){
+ levels(input[,var]) <- c("x","y","z")
+ return(var)
+ }
> test2 <- ex2(data,"X1")
> test2
[1] "X1"
I을 실제로 출력하지 않으면 실제로는 신경 쓰지 않아요. var
이건 아니건 - 단지 일러스트레이션을 위해 반환했습니다. 필자는 데이터 프레임과 열을 올바르게 참조하여 함수 내부에서 조작 할 수있는 방법을 알고 싶습니다.
은 '전을 <시도 - 기능 (입력, VAR를) {}' – lmkirvan
그게 무슨 해결합니까? – ZachTurn
죄송합니다. 의견을 편집하기 위해 오래 기다렸다가 변경하지 못했습니다. 나는 당신이 당신의 기능에서 올바른 아이템을 돌려주지 않는다는 것을 지적하려고했습니다. – lmkirvan