【问题标题】:correlations between two scales with different number of items具有不同项目数的两个量表之间的相关性
【发布时间】:2017-12-04 07:03:14
【问题描述】:

我试图获得两个李克特量表之间的相关性:“理想”和“批准”。它们包括不同数量的项目。

>names(ideal)
[1] "IDEAL1"       "IDEAL2"       "IDEAL3"       "IDEAL4"       "IDEAL5"      
  "PROMOTIONAL6"
>str(ideal)
'data.frame':   96 obs. of  6 variables:
 $ IDEAL1      : int  4 5 3 5 5 3 2 6 4 3 ...
 $ IDEAL2      : int  3 3 3 3 2 2 3 5 4 3 ...
 $ IDEAL3      : int  4 2 3 4 3 2 4 3 4 3 ...
 $ IDEAL4      : int  4 5 3 4 4 2 3 5 5 3 ...
 $ IDEAL5      : int  3 5 3 4 3 2 4 5 5 3 ...
 $ PROMOTIONAL6: int  3 2 3 2 2 1 4 4 2 4 ...
> names(approval)
[1] "PROMOTIONAL3" "OUGHT2"       "OUGHTTO3"     "OUGHTTO4"    
> str(approval)
'data.frame':   96 obs. of  4 variables:
 $ PROMOTIONAL3: int  4 3 3 4 4 1 4 4 5 5 ...
 $ OUGHT2      : int  5 2 4 5 3 3 5 4 4 3 ...
 $ OUGHTTO3    : int  5 2 3 5 4 5 5 4 2 3 ...
 $ OUGHTTO4    : int  4 2 3 4 3 4 4 4 4 4 ...

我需要单个数量的相关性,而不是变量之间的多个相关性。因此,我将两个数据帧转换为向量,并试图得到一个相关系数:

cor.test(c(as.matrix(ideal)), c(as.matrix(approval)))

但是弹出了这个错误:

Error in cor.test.default(c(as.matrix(ideal)), c(as.matrix(approval))) : 
'x' and 'y' must have the same length

有人可以帮忙吗?非常感谢!

【问题讨论】:

    标签: r correlation


    【解决方案1】:

    我将两个数据帧转换为向量并试图得到一个 相关系数

    虽然这可能没有多大意义,但这里是一个首发:

    ideal <- data.frame(
      IDEAL1 =c(4, 5, 3, 5, 5),
      IDEAL2 = c(3, 3, 3, 3, 2))
    approval <- data.frame(
      PROMOTIONAL3 = c(4, 3, 3),
      OUGHT2 = c(5, 2, 4)
    )
    # data frames to vectors
    vec1 <- unlist(ideal)
    vec2 <- unlist(approval)
    # determine common length
    l <- min(length(vec1), length(vec2))
    # determine cor coef
    cor(vec1[1:l], vec2[1:l])
    # [1] -0.09697623
    

    vec1vec2 的长度不同,因此我(即您)需要缩短一个。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-12-29
      • 2021-06-04
      • 1970-01-01
      • 2019-10-30
      • 2017-06-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多