将字符转换为因子R
我有以下数据:将字符转换为因子R,r,character,R,Character,我有以下数据: > str(hiv_data) 'data.frame': 500 obs. of 8 variables: $ HIV.status : chr "HIV negative" "HIV negative" "HIV negative" "HIV negative" ... $ edu.years : int 8 7 5 8 1 6 7 NA 4 5 ... $
> str(hiv_data)
'data.frame': 500 obs. of 8 variables:
$ HIV.status : chr "HIV negative" "HIV negative" "HIV negative" "HIV negative" ...
$ edu.years : int 8 7 5 8 1 6 7 NA 4 5 ...
$ wealth.quintile: int 5 4 5 5 2 4 2 NA 4 NA ...
$ res.type : chr "Urban" "Urban" "Urban" "Urban" ...
$ marital.status : chr "Married" "Never married before" "Never married before" "Never married before" ...
$ province : chr "WCP" "FSP" "FSP" "WCP" ...
$ employment : chr "yes" "no" "no" "no" ...
$ age : int 27 32 26 18 44 24 18 NA 24 NA ...
>
我正在进行正向选择,以找到具有响应HIV.status的模型。我需要将响应更改为带有标签“负”和“正”编码为0和1的因子。我尝试了以下几点:
hiv_data$HIV.status<-factor(hiv_data$HIV.status,levels=c(0,1),labels=c("HIV negative","HIV positive"))
hiv_数据$hiv.statushiv_status[1]“hiv阳性”“hiv阴性”“hiv阳性”“hiv阴性”“hiv阴性”
#>[6]“HIV阴性”“HIV阴性”“HIV阴性”“HIV阴性”“HIV阳性”
因子(hiv_状态,标签=c(‘hiv阳性’、‘hiv阴性’))
#>[1]HIV阴性HIV阳性HIV阴性HIV阳性HIV阳性
#>[6]HIV阳性HIV阳性HIV阳性HIV阴性
#>水平:HIV阳性HIV阴性
爱滋病病毒感染状况[1]101001
由(v2.0.0)于2021-05-11创建您混淆了级别和标签。应该以另一种方式指定它们。但是,对于建模,没有理由将0/1作为标签。您可以只使用因子(hiv_data$hiv.status)
。如果我使用just factor(…),它会将其转换为以下内容:hiv.status:factor w/2级别“hiv阴性”…:1 NA 1 1 1 1 1 NA 1…
用于建模,如果它们被编码为1和2,是否可以?如果建模函数使用因子作为响应,不应该有任何问题。如果没有,你应该把因子转换成整数(然后减去1)。谢谢。这会将其转换为整数,但我需要将其转换为因子。将最后一行更改为as.factor(hiv_status=='hiv-positive')怎么样