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,但结果保存到哪?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,这四道题测量的是同一个维度,需要计算维度的得分。在计算前,请先将该维度反向计分题目进行相应的调整,然后采用以下方法计算维度得分。
# 用rowMeans计算维度得分,维度名称ee mydata$ee<- rowMeans(mydata[c("item1","item3","item8","item20")],na.rm=TRUE) # 使用的是rowMeans函数。注意后面的na.rm=TRUE,这样万一四道题有人只填写了三道题,就会只计算三道题的平均值。