[英]R function to define several factor levels as missing
我有幾個級別為“無答案”和“不知道”的因素,我想將其定義為缺失。 但是,我為實現此目的而編寫的 function 不起作用,我不知道為什么。 例子:
y <- factor(c("a", "b", "c", "Don´t know", "No answer"))
z <- factor(c("a", "b", "c", "Don´t know", "No answer"))
y
[1] a b c Don´t know No answer
Levels: a b c Don´t know No answer
將單個變量的級別定義為缺失確實有效
levels(y)[levels(y)=="Don´t know"|levels(y)=="No answer"]<- NA
y
[1] a b c <NA> <NA>
Levels: a b c
但是,應用 function 不會。
nafac <- function(x)
{
levels(x)[levels(x)=="Don´t know"|levels(x)=="No answer"]<- NA
}
nafac(z)
z
[1] a b c Don´t know No answer
Levels: a b c Don´t know No answer
function 有什么問題? 謝謝!
我們可以簡單地添加return
以返回更新的向量;
nafac <- function(x){
levels(x)[levels(x)=="Don´t know"|levels(x)=="No answer"]<- NA
return(x)
}
nafac(z)
output;
a b c <NA> <NA>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.