R-序号Alpha-并非所有值都是连续的

R-序号Alpha-并非所有值都是连续的,r,ordinal,R,Ordinal,我在R中有一个小数据集,其中二进制和likert(0-4)项被组合在一起。二进制项被重新编码到likert,其中1>0和2>4。我试图在这些数据上运行polychoriccorrelation(r package:psych)和序数alpha,但是,我收到了错误,因为我的二进制项本质上是不连续的 我正在寻找一种方法来告诉R,我的变量的可能值范围是0-4,尽管事实上我的回答者没有为这些项目选择值1-3,所以我可以在数据集上运行序号alpha。我们的PI已经考虑了是否最好将二进制项分离到它们自己的子

我在R中有一个小数据集,其中二进制和likert(0-4)项被组合在一起。二进制项被重新编码到likert,其中1>0和2>4。我试图在这些数据上运行polychoriccorrelation(r package:psych)和序数alpha,但是,我收到了错误,因为我的二进制项本质上是不连续的

我正在寻找一种方法来告诉R,我的变量的可能值范围是0-4,尽管事实上我的回答者没有为这些项目选择值1-3,所以我可以在数据集上运行序号alpha。我们的PI已经考虑了是否最好将二进制项分离到它们自己的子量表中;这对于我们的目的来说是不够的

感谢您提供的所有见解

编辑:包括示例

数据:


q1大家好,欢迎来到Stack。也许你可以吗?这意味着:要处理的一些(假)数据、使用的代码以及由此产生的错误。如果我们能看到你到底做了些什么,就更容易提供帮助了。我不使用这个软件包,但也许你应该在一个有序的因子上设置级别,因为我也遇到过类似的问题(我在我的帖子中解释过)。正如我在那里写的那样,我发现的唯一可能的解决办法是与其他有类似问题的人合作。据我所知,统计学家(麦克马斯特大学社会学副教授约翰·福克斯)建议对回答进行重新排序:例如,如果回答者不回答“3”,而是回答1、2和4,那么回答为“4”的回答将被重新编码
    q1 <- c(4,2,0,1,3)
    q2 <- c(1,4,2,3,0)
    q3 <- c(0,4,4,0,4)
    q4 <- c(0,4,4,0,4)
    q5 <- c(4,0,4,4,4)
    data <- data.frame(q1,q2,q3,q4,q5)