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

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

library(rms)

data<-lung

#这里有两种方法,

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

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

str(data)

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

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

str(data)

R语言批量把数值变量和因子变量的互转_第1张图片

R语言批量把数值变量和因子变量的互转_第2张图片

#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)

R语言批量把数值变量和因子变量的互转_第3张图片

#转数值

for(i in names(data)

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

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

}

#图:变为了数值

str(data)

R语言批量把数值变量和因子变量的互转_第4张图片

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

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

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

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

你可能感兴趣的:(R语言绘图,r语言)