ggm
> score = read.csv("学生成绩.csv")[,-1]
> score
工数1 工数2 线性代数 概率论 应用统计
1 95 96 95 100 84.0
2 95 96 97 94 95.5
3 94 93 94 100 77.0
4 93 95 95 99 83.0
5 91 90 86 95 81.0
6 91 96 95 93 69.0
7 91 93 100 99 75.0
8 89 91 90 95 72.0
9 89 84 85 96 84.0
10 88 77 94 77 85.0
11 88 97 97 100 97.0
12 86 95 92 100 95.0
13 83 93 77 90 70.0
14 83 65 71 60 42.0
15 81 65 72 78 60.0
16 80 77 73 70 64.0
17 79 76 68 92 71.5
18 78 71 82 76 82.0
19 78 67 79 90 74.0
20 77 73 76 77 66.5
21 76 72 77 97 79.0
22 76 80 60 86 86.0
23 76 90 91 96 90.0
24 76 79 82 74 65.5
25 75 76 76 79 62.0
26 75 60 65 70 49.0
27 72 72 64 73 74.0
28 72 70 60 68 68.0
> pcor(c(4,5,1,2,3),cov(score))
[1] 0.4211677
> pcor.test(0.42,3,28)
$tval
[1] 2.219499
$df
[1] 23
$pvalue
[1] 0.03659362
ppcor
> library("ppcor")
载入需要的程辑包:MASS
载入程辑包:‘ppcor’
The following objects are masked from ‘package:ggm’:
pcor, pcor.test
Warning message:
程辑包‘ppcor’是用R版本4.0.3 来建造的
> pcor(score)
$estimate
工数1 工数2 线性代数 概率论 应用统计
工数1 1.0000000 0.3364778 0.56950566 0.11488837 -0.3137211
工数2 0.3364778 1.0000000 0.21158151 0.36603467 0.2517737
线性代数 0.5695057 0.2115815 1.00000000 0.06334852 0.2077290
概率论 0.1148884 0.3660347 0.06334852 1.00000000 0.4211677
应用统计 -0.3137211 0.2517737 0.20772895 0.42116775 1.0000000
$p.value
工数1 工数2 线性代数 概率论 应用统计
工数1 0.000000000 0.10004897 0.002963315 0.58448263 0.12672336
工数2 0.100048973 0.00000000 0.309962632 0.07193705 0.22471116
线性代数 0.002963315 0.30996263 0.000000000 0.76354510 0.31905871
概率论 0.584482626 0.07193705 0.763545096 0.00000000 0.03602117
应用统计 0.126723361 0.22471116 0.319058705 0.03602117 0.00000000
$statistic
工数1 工数2 线性代数 概率论 应用统计
工数1 0.000000 1.713609 3.3227433 0.5546580 -1.584549
工数2 1.713609 0.000000 1.0382141 1.8863511 1.247656
线性代数 3.322743 1.038214 0.0000000 0.3044203 1.018449
概率论 0.554658 1.886351 0.3044203 0.0000000 2.226999
应用统计 -1.584549 1.247656 1.0184491 2.2269988 0.000000
$n
[1] 28
$gp
[1] 3
$method
[1] "pearson"
因此,ppcor更容易使用。