Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将字符转换为因子R_R_Character - Fatal编程技术网

将字符转换为因子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.status
hiv_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')怎么样