R语言批量把数值变量和因子变量的互转

发布时间:2024年01月22日

#我们以rms包的lung数据集为例

library(rms)

data<-lung

#这里有两种方法,

#第1是知道需要转化的变量在哪几列;

#第2知道需要转化的变量名

str(data)

#假设我们想转化inst/status/sex/三个变量的类型

#图1先看看变量类型和处于第几列

str(data)

#inst/status/sex为数值型,分别在第1列,第3列,第5列

#法1:需要转化的变量在哪几列

#转因子

for(i in names(data)

????[c(1,3,5)]){# 1,3,5代表第1列,第3列,第5列

??data[,i]<-as.factor(data[,i])

}

#图:变为了因子

str(data)

#转数值

for(i in names(data)

????[c(1,3,5)]){

??data[,i]<-as.numeric(data[,i])

}

#图:变为了数值

str(data)

#法2:知道需要转化的变量名:inst/status/sex

a<-c("inst","status","sex")#填入需要转化的变量名

data[,a]<-lapply(data[,a],as.factor)#转因子

data[,a]<-lapply(data[,a],as.numeric)#转数值

文章来源:https://blog.csdn.net/kaiming000/article/details/135747769
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。