Как назначить в семействе приложений?

У меня есть data.frame, который содержит несколько факторов, и я хочу переименовать уровни факторов для всех этих факторов. Например:

mydf <- data.frame(col1 = as.factor(c("A","A",NA,NA)),col2 = as.factor(c("A",NA,NA,"A")))
mydf <- as.data.frame(lapply(mydf,addNA))

Обратите внимание, что реальный пример имеет больше, чем просто два столбца. Поэтому я хотел бы использовать применимо к назначьте другие имена уровней для всех этих столбцов, как в примере:

levels(mydf$col1) <- c("1","0") 

Я пробовал следующее, но это не сработало…

 apply(mydf,1,function(x) levels(x) <- c("1","0"))

Я не очень удивлен, что это не работает, но у меня сейчас нет лучших идей. Может быть, я использую с ?

РЕДАКТИРОВАТЬ: Я понял, что сделал ошибку, слишком упрощая вещи. Я использовал addNA , чтобы учесть тот факт, что NA больше не должны обрабатываться как NA Таким образом, я также хочу переименовать их. Это не работает с предложением Андри и возвращает следующее сообщение об ошибке:

 labels = c("1",  : invalid labels; length 2 should be 1 or 1  

Обратите внимание, что я обновил свой пример df.

5
задан Matt Dowle 28 March 2013 в 00:15
поделиться