gpt4 book ai didi

r - 如何使用 R 同时计算多个子量表的 Cronbach's alpha?

转载 作者:行者123 更新时间:2023-12-02 19:23:10 24 4
gpt4 key购买 nike

我是 R 的初学者。当我尝试计算多个子量表的 Cronbach's alpha 时,我遇到了困难。我正在使用 psych 包来做到这一点。

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

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。我尝试使用 psych 包。

Reliability <- group_by(df,Subscale) %>%
alpha()

但是,我收到以下错误:可能存在缺失值的变量是 Item4 Item5主体错误(x,分数= FALSE):抱歉:相关矩阵中的缺失值 (NA) 不允许我继续。请删除这些变量并重试。另外: 警告消息:1:在 var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm = na.rm) 中:通过强制引入的 NA2:在 alpha(.) 中:Item = Subscale 没有方差,已被删除

是否可以在创建新数据框或包含结果的列表的同时计算这些子量表的 Cronbach's alpha?或者我应该使用 split 函数将两个子量表分开并分别计算每个子量表的 alpha 值?

提前致谢!

最佳答案

假设“Subscale”是列名称,则 alphax 应为 data.frame矩阵。一个选项是将 group_split 放入 data.framelist 中,然后使用 循环遍历 list >映射并在“Item”列上应用alpha

library(dplyr)
library(purrr)
library(psych)
df %>%
select(-Student) %>%
group_split(Subscale) %>%
map(~ alpha(.[-1]))

数据

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))

关于r - 如何使用 R 同时计算多个子量表的 Cronbach's alpha?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62765581/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com