[英]Function to change the levels of a factor variable in R
我有一個因素變量Clic_1
在數據幀oldata
。 我想編寫一個函數,該函數將更改因式變量的值。
head(oldata$CliC_1)
[1] 4 1 5 3 5 5
Levels: 1 2 3 4 5
我試過這個功能,但它給NA
try<- function (data,var){
for (i in 1:nrow(data)){
if (var[i]== "1"){
var[i]<- "Good"
} else {var[i]<- "Bad"}
}
return (var)
}
您不需要自定義函數或重新relevel
。 只需使用ifelse
:
factor(ifelse(oldata$CliC_1==1, 'Good', 'Bad'))
# Bad Good Bad Bad Bad Bad
另一種方式是
factor(oldata$CliC_1 != 1, labels = c('Good', 'Bad'))
# [1] Bad Good Bad Bad Bad Bad
# Levels: Good Bad
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.