关键词:R语言; R软件; R软件数据转换; R软件数据拆分; R软件数据合并; R软件变量赋值
以“data1.csv”演示增加/删除变量的操作过程。
一、增加/删除变量
(一)读取数据
按照以下语句将“data1.csv”文本文件读入成一个数据框:
mydataframe <-read.table("data1.csv", header = TRUE, sep = ",")
读取后的数据在R中如图1所示。
(二)新增变量
在R软件中,新增变量是通过程序形式进行实现的,新增的变量会出现在数据集的最后一列。举例如下,在R中按照“变量名 = 表达式”形式的语句来生成,如BMI = weight(kg)/hight(m)2,将在数据框的最后一列生成BMI变量,详细代码如下:
mydataframe$BMI = mydataframe$weight/(mydataframe$hight/100)**2
注意,这里要申明变量来源于哪个数据框,用“数据框$变量名”表示。新生成的变量如图2。
此外,可以使用如下两种方法达到相同的目的:
##method 1##
attach(mydataframe) mydataframe$BMI1 = weight/(hight/100)**2 detach(mydataframe)
##method 2##
mydataframe <- transform(mydataframe, BMI2 = weight/(hight/100)**2)
结果如图3所示。
(三)变量删除
1. 按列的序号删除变量
如删除第8、9列:
mydataframe <- mydataframe[ , c(-8,-9)]
或者如下输入代码
mydataframe <- mydataframe[ , -c(8,9)]
结果如图4所示。
2. 将变量赋值为NULL(空白变量)
mydataframe$BMI1 = mydataframe$BMI2 = NULL
二、变量标签与赋值
(一)使用attr()函数给变量添加标签
attr(mydataframe$BMI, "label") = "体质指数" #添加标签 attr(mydataframe$BMI, "label") #查看标签
[1] "体质指数"
attr(mydataframe$BMI, "lowercase") = "bmi" # 查看标签 attributes(mydataframe$BMI) # 查看变量所有属性
$label
[1] "体质指数"
$lowercase
[1] "bmi"
(二)修改变量名
可以使用fix()函数来调用一个交互式的编辑器,如:
fix(mydataframe)
如图5。单击变量名,可以对变量名称进行重命名。
也可以使用names()函数来重命名变量,如:
names(mydataframe)[3] = "sex"
如图6。
三、变量/数据转换
在数据分析过程中,常常需要对变量重新赋值或者重新计算生成一个新变量,这都涉及到变量和数据的转换。比如对于“示例数据1”中,原来代表年级的“grade”变量中“1”代表大一,“2”代表大二,“3”代表大三,“4”代表大四,后面的研究中需要将大一和大二合并,大三和大四合并,需要对“grade”这个变量重新编码,具体语法为:
mydataframe$grade2 = ifelse(mydataframe$grade <= 2, 1, ifelse(mydataframe$grade > 2, 2, NA))
如图7。