“R:简单计算”的版本间的差异
来自OBHRM百科
Lichaoping(讨论 | 贡献) (创建页面,内容为“==基本规则== 如果您有一个数据框mydata,里面有变量item1, item2,现在你想创建一个新变量itemsum(两个变量的和),itemmean(两...”) |
Lichaoping(讨论 | 贡献) |
||
(未显示同一用户的8个中间版本) | |||
第2行: | 第2行: | ||
如果您有一个数据框mydata,里面有变量item1, item2,现在你想创建一个新变量itemsum(两个变量的和),itemmean(两个变量的均值)。 | 如果您有一个数据框mydata,里面有变量item1, item2,现在你想创建一个新变量itemsum(两个变量的和),itemmean(两个变量的均值)。 | ||
− | + | 如果您这样做,<b><font color="red">不对!! </font></b> | |
itemsum <- item1 + item2 # 没有告诉R,item1与item2来自哪个数据框,R就会迷失方向 | itemsum <- item1 + item2 # 没有告诉R,item1与item2来自哪个数据框,R就会迷失方向 | ||
itemmean <- (item1 + item2)/2 # 没有告诉R,item1与item2来自哪个数据框,R就会迷失方向 | itemmean <- (item1 + item2)/2 # 没有告诉R,item1与item2来自哪个数据框,R就会迷失方向 | ||
− | + | 如果您这样做,<b><font color="red">还是不对!! </font></b> | |
itemsum <- mydata$item1 + mydata$item2 # 告诉R,item1与item2来自mydata,但结果保存到哪?R不知道。 | itemsum <- mydata$item1 + mydata$item2 # 告诉R,item1与item2来自mydata,但结果保存到哪?R不知道。 | ||
itemmean <- (mydata$item1 + mydata$item2)/2 # 告诉R,item1与item2来自mydata,但结果保存到哪?R不知道。 | itemmean <- (mydata$item1 + mydata$item2)/2 # 告诉R,item1与item2来自mydata,但结果保存到哪?R不知道。 | ||
+ | 如果您这样做,<b><font color="blue">恭喜您,操作正确!! </font></b> | ||
+ | #方法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$ee<- rowMeans(mydata[c(" | + | ==计算维度分数== |
+ | 如果您有一个数据框mydata,数据框里头有变量item1,item3,item8,item20,这四道题测量的是同一个维度,需要计算维度的得分。在计算前,请先将该维度反向计分题目进行相应的调整,然后采用以下方法计算维度得分。 | ||
+ | # 用rowMeans计算维度得分,维度名称ee | ||
+ | mydata$ee<- rowMeans(mydata[c("item1","item3","item8","item20")],na.rm=TRUE) # 使用的是rowMeans函数。注意后面的na.rm=TRUE,这样万一四道题有人只填写了三道题,就会只计算三道题的平均值。 |
2017年3月9日 (四) 13:47的最新版本
基本规则
如果您有一个数据框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,这样万一四道题有人只填写了三道题,就会只计算三道题的平均值。