R:简单计算

来自OBHRM百科
跳转至: 导航搜索

基本规则

如果您有一个数据框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,结果也保存到mydata
mydata$itemmean <- (mydata$item1 + mydata$item2)/2    # 告诉R,item1与item2来自mydata,结果也保存到mydata
#方法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,这四道题测量的是同一个维度,需要计算维度的得分。在计算前,请先将该维度反向计分题目进行相应的调整,然后采用以下方法计算维度得分。

# 用rowMeans计算维度得分,维度名称ee
mydata$ee<- rowMeans(mydata[c("item1","item3","item8","item20")],na.rm=TRUE)  # 使用的是rowMeans函数。注意后面的na.rm=TRUE,这样万一四道题有人只填写了三道题,就会只计算三道题的平均值。