我有包含多个因素的 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))
请注意,现实生活中的示例不仅仅是两列。因此,我想使用 apply 为所有这些列分配其他级别名称,就像:
levels(mydf$col1) <- c("1","0")
我尝试了以下方法,但没有成功...
apply(mydf,1,function(x) levels(x) <- c("1","0"))
我并不感到惊讶它不起作用,但我现在没有更好的想法。我应该使用with
maybe?
编辑:我意识到我在这里犯了一个错误,因为过于简单化了事情。我用了addNA
考虑到这一事实,NA 不应再作为 NA 处理。因此我也想给它们重新贴上标签。
这与 Andrie 的建议不起作用,并返回以下错误消息:
labels = c("1", : invalid labels; length 2 should be 1 or 1
请注意,我更新了示例 df。