首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用R同时计算多个子尺度的Cronbach's alpha?

如何使用R同时计算多个子尺度的Cronbach's alpha?
EN

Stack Overflow用户
提问于 2020-07-07 06:44:57
回答 1查看 655关注 0票数 2

我是一个使用R的初学者,当我试图计算多个子尺度的Cronbach's alpha时,我正在努力。我用的是心理治疗包。

这是我的数据库的一个例子:我有两个不同的分量表。分量表A包括项目1至3,分量表B包括项目4至5。

代码语言:javascript
复制
Subscale  Student  Item1  Item2  Item3  Item4  Item5  
   A        1       1      0     1       NA    NA
   A        2       0      1     1       NA    NA
   A        3       1      1     1       NA    NA
   B        1       NA     NA    NA      1     1
   B        2       NA     NA    NA      1     0
   B        3       NA     NA    NA      0     0

同时计算每个子尺度的Cronbach's alpha。我试着用过心理治疗包。

代码语言:javascript
复制
Reliability <- group_by(df,Subscale) %>%
alpha()

但是,我得到以下错误:缺少值的变量可能是本金中的分值错误(x,Item5 = Item4 ):对不起:相关矩阵中缺少值(NAs)不允许我继续。请删除这些变量,然后重试。此外:警告消息: 1: In var(if (is.vector(x) || is.factor(x)) x else as.double(x),na.rm = na.rm):强制引入的NAs : In alpha(.):Item = Subscale没有差异,已被删除

是否有可能在创建新的数据框或列表的同时计算这些子尺度的Cronbach's alpha?或者我应该使用split函数将两个子尺度分开,并分别计算每个子尺度的alphas?

提前感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-07-07 06:51:02

假设'Subscale‘是列名,那么alphax应该是data.framematrix。一种选择是group_split进入data.framelist,然后使用maplist上循环,并在'Item‘列上应用alpha

代码语言:javascript
复制
library(dplyr)
library(purrr)
library(psych)
df %>% 
    select(-Student) %>%
    group_split(Subscale) %>%
    map(~ alpha(.[-1]))

数据

代码语言:javascript
复制
df <- structure(list(Subscale = c("A", "A", "A", "B", "B", "B"), Student = c(1L, 
2L, 3L, 1L, 2L, 3L), Item1 = c(1L, 0L, 1L, NA, NA, NA), Item2 = c(0L, 
1L, 1L, NA, NA, NA), Item3 = c(1L, 1L, 1L, NA, NA, NA), Item4 = c(NA, 
NA, NA, 1L, 1L, 0L), Item5 = c(NA, NA, NA, 1L, 0L, 0L)), class = "data.frame", 
row.names = c(NA, 
-6L))
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62765581

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档