I have two datasets for the same participants' responses but at two different times. I want to examine the stability reliability by doing a test-retest using Spearman correlation
> colA
# A tibble: 7 x 42
Va1 Va2 Va3 Va4 Va5 Va6 `V1-1` Vb1 Vb2 Vb3 `V2-2` Vc1 Vc2 Vc3 Vc4
<dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
1 5 5 7 7 7 7 6.33 7 7 7 7 6 6 8 7
2 8 8 8 7 7 7 7.5 4 4 7 5 7 7 7 4
3 10 9 8 9 8 10 9 4 4 5 4.33 10 4 8 8
4 7 7 7 7 6 6 6.67 3 3 7 4.33 6 6 6 6
5 7 7 7 6 10 5 7 4 4 4 4 9 9 8 8
6 8 8 7 8 7 7 7.5 3 3 7 4.33 8 9 9 10
7 10 10 9 9 10 9 9.5 5 5 7 5.67 7 9 8 8
# ... with 27 more variables: V3-3 <dbl>, Vd1 <dbl>, Vd2 <dbl>, Vd3 <dbl>, Vd4 <dbl>,
# V4-4 <dbl>, Ve1 <dbl>, Ve2 <dbl>, Ve3 <dbl>, Ve4 <dbl>, Ve5 <dbl>, Ve6 <dbl>, V5-5 <dbl>,
# Vf1 <dbl>, Vf2 <dbl>, Vf3 <dbl>, Vf4 <dbl>, Vf5 <dbl>, V6-6 <dbl>, Vg1 <dbl>, Vg2 <dbl>,
# Vg3 <dbl>, Vg4 <dbl>, Vg5 <dbl>, Vg6 <dbl>, V7-7 <dbl>, Vtotal <dbl>
This is for the first data set, the second was:
> colB
# A tibble: 7 x 42
Vaa1 Vaa2 Vaa3 Vaa4 Vaa5 Vaa6 `Vv1-1` Vbb1 Vbb2 Vbb3 `Vv2-2` Vcc1 Vcc2 Vcc3 Vcc4
<dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
1 5 5 7 7 7 6 6.17 7 7 6 6.67 6 6 7 7
2 8 8 8 8 8 7 7.83 4 4 6 4.67 7 7 7 6
3 9 9 9 9 9 9 9 4 4 5 4.33 9 4 8 8
4 7 7 7 7 7 6 6.83 3 3 7 4.33 6 6 6 6
5 7 7 7 7 9 5 7 4 4 4 4 8 8 8 8
6 7 7 8 8 7 7 7.33 3 3 6 4 9 9 9 10
7 9 9 9 9 10 8 9 4 4 7 5 7 9 7 7
# ... with 27 more variables: Vv3-3 <dbl>, Vdd1 <dbl>, Vdd2 <dbl>, Vdd3 <dbl>, Vdd4 <dbl>,
# Vv4-4 <dbl>, Vee1 <dbl>, Vee2 <dbl>, Vee3 <dbl>, Vee4 <dbl>, Vee5 <dbl>, Vee6 <dbl>,
# Vv5-5 <dbl>, Vff1 <dbl>, Vff2 <dbl>, Vff3 <dbl>, Vff4 <dbl>, Vff5 <dbl>, Vv6-6 <dbl>,
# Vgg1 <dbl>, Vgg2 <dbl>, Vgg3 <dbl>, Vgg4 <dbl>, Vgg5 <dbl>, Vgg6 <dbl>, Vv7-7 <dbl>,
# Vvtotal <dbl>
when I run the correlation it returned the following error:
> cor.test(colA,colB, method = "spearman")
Error in cor.test.default(colA, colB, method = "spearman") :
'x' must be a numeric vector
Though all variables are numeric including the first column
str(colA)
tibble [7 x 42] (S3: tbl_df/tbl/data.frame)
$ Va1 : num [1:7] 5 8 10 7 7 8 10
$ Va2 : num [1:7] 5 8 9 7 7 8 10
$ Va3 : num [1:7] 7 8 8 7 7 7 9
$ Va4 : num [1:7] 7 7 9 7 6 8 9
$ Va5 : num [1:7] 7 7 8 6 10 7 10
$ Va6 : num [1:7] 7 7 10 6 5 7 9
$ V1-1 : num [1:7] 6.33 7.5 9 6.67 7 ...
$ Vb1 : num [1:7] 7 4 4 3 4 3 5
$ Vb2 : num [1:7] 7 4 4 3 4 3 5
$ Vb3 : num [1:7] 7 7 5 7 4 7 7
$ V2-2 : num [1:7] 7 5 4.33 4.33 4 ...
$ Vc1 : num [1:7] 6 7 10 6 9 8 7
$ Vc2 : num [1:7] 6 7 4 6 9 9 9
$ Vc3 : num [1:7] 8 7 8 6 8 9 8
$ Vc4 : num [1:7] 7 4 8 6 8 10 8
$ V3-3 : num [1:7] 6.75 6.25 7.5 6 8.5 9 8
$ Vd1 : num [1:7] 6 7 8 5 7 8 7
$ Vd2 : num [1:7] 9 3 6 5 7 10 9
$ Vd3 : num [1:7] 8 3 8 5 8 11 9
$ Vd4 : num [1:7] 6 4 7 7 7 9 8
$ V4-4 : num [1:7] 7.25 4.25 7.25 5.5 7.25 9.5 8.25
$ Ve1 : num [1:7] 7 4 11 7 9 8 8
$ Ve2 : num [1:7] 8 3 9 5 6 8 9
$ Ve3 : num [1:7] 7 10 7 5 7 9 9
$ Ve4 : num [1:7] 6 4 7 5 7 8 9
$ Ve5 : num [1:7] 8 10 3 2 7 7 10
$ Ve6 : num [1:7] 3 10 10 2 8 9 8
$ V5-5 : num [1:7] 6.5 6.83 7.83 4.33 7.33 ...
$ Vf1 : num [1:7] 3 7 8 7 7 7 8
$ Vf2 : num [1:7] 7 7 7 5 8 9 8
$ Vf3 : num [1:7] 4 1 5 5 7 8 7
$ Vf4 : num [1:7] 4 1 7 5 7 8 8
$ Vf5 : num [1:7] 7 10 7 5 8 7 9
$ V6-6 : num [1:7] 5 5.2 6.8 5.4 7.4 7.8 8
$ Vg1 : num [1:7] 9 7 6 7 7 8 9
$ Vg2 : num [1:7] 8 10 5 6 7 8 9
$ Vg3 : num [1:7] 7 3 5 5 8 10 10
$ Vg4 : num [1:7] 10 7 4 5 7 8 8
$ Vg5 : num [1:7] 8 7 7 5 8 9 8
$ Vg6 : num [1:7] 7 7 10 5 7 8 9
$ V7-7 : num [1:7] 8.17 6.83 6.17 5.5 7.33 ...
$ Vtotal: num [1:7] 6.71 5.98 6.98 5.39 6.97 ..
and it is the same for colB
This should work: As far as I know: cor.test
needs a vector as input:
# for the whole dataframe use cor
cor(colA, colB)
# vector with cor.test
colA <- colA[,1]
colB <- colB[,1]
cor.test(colA, colB, method = "spearman")
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.