R语言入门之变量重编码与重命名

时间:2022-07-22
本文章向大家介绍R语言入门之变量重编码与重命名,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

第一部分 变量重编码

在很多时候,我们需要对数据进行分类,比如根据血糖值将患者分成糖尿病组与非糖尿病组,亦或者按照年龄将样本分为老年人,中年人和青年人等等,这些就需要我们对数据进行重新编码。

# 创建新的变量和数据集
x1 <- c(1,2,3,4,5) # 向量x1
x2 <- c(1,4,9,16,25) # 向量x2
age <- c(68,25,39,76,52) # 向量age
sex <- c(0,1,1,0,1) # 向量sex
mydata <- data.frame(x1,x2,age,sex) # 用向量构建新的数据框
 
# 按照年龄创建两个分类
mydata$agecat1 <- ifelse(mydata$age > 65,
c("older"), c("younger")) # 大于65岁为老年组,其余为青年组
mydata #查看数据

# 在R中我们通常用[]来对数据进行索引
# 按照年龄创建3个类
attach(mydata) # 固定数据
mydata$agecat2[age > 75] <- "Elder" # 将年龄大于75岁的设为老年组
mydata$agecat2[age > 45 & age <= 75] <- "Middle Aged" # 年龄在45~75设为中年组
mydata$agecat2[age <= 45] <- "Young" # 年龄在45岁以下的设为青年组
mydata # 查看数据
detach(mydata) # 解固定数据

关于如何在R中进行数据的索引,我会在以后的内容中和大家详细介绍,先掌握上面的索引方式即可。

第二部分 变量重命名

在R中你既可以采用编程的方式对变量进行重命名,也可以采用像SPSS那种的交互方式来修改变量名,这里推荐使用编程的方式来对变量进行重命名。

# 使用rename()函数重命名
library(reshape) # 加载reshape包
# 创建新的变量
x1 <- c(1,2,3,4,5) # 向量x1
x2 <- c(1,4,9,16,25) # 向量x2
age <- c(68,25,39,76,52) # 向量age
sex <- c(0,1,1,0,1) # 向量sex
mydata <- data.frame(x1,x2,age,sex) # 用向量构建新的数据框

# 查看数据框的列名
names(mydata)
# [1] "x1"  "x2"  "age" "sex"
# mydata <- rename(mydata, c(oldname="newname")) # 第一个参数是数据框的名字,第二个参数是一个向量,其中等号左侧是旧的变量名,右侧是新的变量名(需用引号)
mydata <- rename(mydata, c(x1="ID"))names(mydata)#[1] "ID"  "x2"  "age" "sex"

# 当然你也可以直接使用names()这个函数来对变量重命名
names(mydata) <- c("ID","y","age","sex")
names(mydata)#[1] "ID"  "y" "age"   "sex"
 

关于变量重编码和重命名的内容现已讲解完毕,其中重编码部分的内容相对比较困难,需要大家勤加联系才能熟练掌握!