#我们以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)#转因子文章来源:https://www.toymoban.com/news/detail-817416.html
data[,a]<-lapply(data[,a],as.numeric)#转数值文章来源地址https://www.toymoban.com/news/detail-817416.html
到了这里,关于R语言批量把数值变量和因子变量的互转的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!