#我们以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)#转数值