“R:数据转换”的版本间的差异
来自OBHRM百科
Lichaoping(讨论 | 贡献) (→变量重命名) |
Lichaoping(讨论 | 贡献) |
||
第4行: | 第4行: | ||
2、用R命令修改变量名称。如果需要修改mydata数据框中第5个变量的名称为:item5 | 2、用R命令修改变量名称。如果需要修改mydata数据框中第5个变量的名称为:item5 | ||
names(mydata)[5] <- "item5" | names(mydata)[5] <- "item5" | ||
+ | |||
+ | 3、用包中的函数修改名称。比如,plyr中有一个rename()函数,专门用来修改变量的名称。 | ||
+ | <pre>library(plyr) # 启用plyr包。如果没有安装,请先安装。安装方法,请在R控制台输入:install.packages("plyr")。 | ||
+ | mydata <- rename(mydata, c(item2="y2", item5="y5")) # 将mydata数据框中的item2修改为y2;item5修改为y5</pre> | ||
==<span id="recode"></span>变量再编码== | ==<span id="recode"></span>变量再编码== |
2017年3月9日 (四) 16:26的版本
变量重命名
2、用R命令修改变量名称。如果需要修改mydata数据框中第5个变量的名称为:item5
names(mydata)[5] <- "item5"
3、用包中的函数修改名称。比如,plyr中有一个rename()函数,专门用来修改变量的名称。
library(plyr) # 启用plyr包。如果没有安装,请先安装。安装方法,请在R控制台输入:install.packages("plyr")。 mydata <- rename(mydata, c(item2="y2", item5="y5")) # 将mydata数据框中的item2修改为y2;item5修改为y5
变量再编码
在进行重新分析之前,需要对反向计分的题目进行调整。比如,有一个量表采用Likert 5分等级量表,其中item2,item8是反向计分的题目。意味着对这两道题的回答需要调整,问卷填写者填的5,需要调整为1;4需要调整为2;3不变;2调整为4;1调整为5。这样,才与其他没有反向计分题目的一致。这个时候,我们就需要对item2,item8进行再编码。
有时,我们需要对变量进行相应的调整,也会用到再编辑。比如,被调查者的教育程度,原来的数据中1代表小学 2代表初中……,后面我们需要将小学与初中进行合并出来,也就是不再区分小学与初中,这时也需要进行再编码。
R自带的函数相对复杂,建议使用car包中的recode()来进行再编辑。具体操作如下:
library(car) # 启用car包。如果没有安装,请先安装。安装方法,请在R控制台输入:install.packages("car")。 mydata$item2 <- recode(mydata$item2, "1=5;2=4;3=3;4=2;5=1;else='NA'") # 对item2进行再编码 mydata$item8 <- recode(mydata$item8, "1=5;2=4;3=3;4=2;5=1;else='NA'") # 对item8进行再编码
另外,doBy包中的recodevar()也可以用来再编码。