Null 값을 NA로 바꾸는 함수를 작성하려고합니다. 내 열의 요약은 다음과 같습니다.Null을 NA로 변경하는 함수
a b
12 210 468
12 개의 빈 값을 NA로 변경하고 싶습니다. 이 가지고 올이 나는 또한 NA에 널 값을 변경하려면하는 몇 가지 다른 요소의 열이, 그래서 나는 여기에서 몇 가지 물건을 빌려 :
# change nulls to NAs
nullToNA <- function(df){
# split df into numeric & non-numeric functions
a<-df[,sapply(df, is.numeric), drop = FALSE]
b<-df[,sapply(df, Negate(is.numeric)), drop = FALSE]
# Change empty strings to NA
b<-b[lapply(b,function(x) levels(x) <- c(levels(x), NA)),] # add NA level
b<-b[lapply(b,function(x) x[x=="",]<- NA),] # change Null to NA
# Put the columns back together
d<-cbind(a,b)
d[, names(df)]
}
을하지만, 나는이납니다 오류 : 나는 대답을 시도
> foo<-nullToNA(bar) Error in x[x == "", ] <- NA : incorrect number of subscripts on matrix Called from: FUN(X[[i]], ...)
는 여기에서 찾을 : Replace all 0 values to NA하지만 숫자 값에 내 모든 열을 변경합니다.
왜'x == ""대신에 is.null()'함수가 필요하지 않을까요? 어쩌면 아무것도 찾을 수 없습니다. 당신의 레벨이 무엇을 반환하는지 확인 했습니까? 당신은 귀하의 데이터를 단계별로 귀하의 기능 내부를 확인할 수 있습니다. 함수를 무시하고 데이터를 사용하여 함수 내에서 한 줄씩 이동하십시오. –
[모든 0 값을 NA로 바꾸기] 가능한 복제본 (http://stackoverflow.com/questions/11036989/replace-all-0-values-to-na) – Mateusz1981