2017-12-03 10 views
0

「理想」と「承認」の2つのリッカートスケールの間の相関を得ようとしています。それらは異なる数のアイテムを含む。アイテム数の異なる2つのスケール間の相関

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

変数間の複数の相関ではなく、相関の数が1つ必要です。したがって、私は、ベクターに2つのデータフレームに変換し、1つの相関係数を取得しようとした:

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 

誰が助けることはできますか?とても感謝している!

答えて

0

私はベクター中に2つのデータフレームに変換し、これはおそらくあまり意味がありますが、ここではスターターではありませんがONE 相関係数

を取得しようとしました:

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の長さが異なるため、私は(つまりあなたの)長さを短くする必要があります。

関連する問題