R:简单计算

来自OBHRM百科
Lichaoping讨论 | 贡献2017年3月9日 (四) 12:04的版本

跳转至: 导航搜索

基本规则

如果您有一个数据框mydata,里面有变量item1, item2,现在你想创建一个新变量itemsum(两个变量的和),itemmean(两个变量的均值)。

如果您做这样做,不对!!

itemsum <- item1 + item2         # 没有告诉R,item1与item2来自哪个数据框,R就会迷失方向
itemmean <- (item1 + item2)/2    # 没有告诉R,item1与item2来自哪个数据框,R就会迷失方向

如果您做这样做,还是不对!!

itemsum <- mydata$item1 + mydata$item2         # 告诉R,item1与item2来自mydata,但结果保存到哪?R不知道。
itemmean <- (mydata$item1 + mydata$item2)/2    # 告诉R,item1与item2来自mydata,但结果保存到哪?R不知道。

如果您做这样做,恭喜您,操作正确!!

#方法1
mydata$itemsum <- mydata$item1 + mydata$item2         # 告诉R,item1与item2来自mydata,但结果保存到哪?R不知道。
mydata$itemmean <- (mydata$item1 + mydata$item2)/2    # 告诉R,item1与item2来自mydata,但结果保存到哪?R不知道。
#方法2
attach(mydata)                          # 激活mydata,接下来R就会使用这个数据框中的变量
mydata$itemsum <- item1 + item2         # 告诉R,结果保存到mydata中的itemsum变量
mydata$itemmean <- (item1 + item2)/2    # 告诉R,结果保存到mydata中的itemmean变量
detach(mydata)
#方法3
mydata <- transform (mydata, itemsum=item1+item23, itemmean=(item1+item2)/2)    # 借助transform()函数完成计算

计算维度分数

如果您有一个数据框mydata,数据框里头有变量item1,item3,item8,item20,这四道题测量的是同一个维度,需要计算维度的得分。在计算前,请先将该维度反向计分题目进行相应的调整,然后采用以下方法计算维度得分。

# 维度名称ee
mydata$ee<- rowMeans(mydata[c("item1","item3","item8","item20")],na.rm=TRUE)