要找到相关矩阵,我们只需要将cor函数与数据框对象名称一起使用。例如,如果我们有一个名为df的数据帧,则可以使用cor(df)找到相关矩阵。但是结果将具有太多的小数位来表示相关性。如果要避免小数点后的值,可以使用舍入函数。
考虑基数R中的mtcars数据-
data(mtcars) cor(mtcars)
输出结果
mpg cyl disp hp drat wt mpg 1.0000000 -0.8521620 -0.8475514 -0.7761684 0.68117191 -0.8676594 cyl -0.8521620 1.0000000 0.9020329 0.8324475 -0.69993811 0.7824958 disp -0.8475514 0.9020329 1.0000000 0.7909486 -0.71021393 0.8879799 hp -0.7761684 0.8324475 0.7909486 1.0000000 -0.44875912 0.6587479 drat 0.6811719 -0.6999381 -0.7102139 -0.4487591 1.00000000 -0.7124406 wt -0.8676594 0.7824958 0.8879799 0.6587479 -0.71244065 1.0000000 qsec 0.4186840 -0.5912421 -0.4336979 -0.7082234 0.09120476 -0.1747159 vs 0.6640389 -0.8108118 -0.7104159 - 0.7230967 0.44027846 -0.5549157 am 0.5998324 -0.5226070 -0.5912270 -0.2432043 0.71271113 -0.6924953 gear 0.4802848 -0.4926866 -0.5555692 -0.1257043 0.69961013 -0.5832870 carb -0.5509251 0.5269883 0.3949769 0.7498125 -0.09078980 0.4276059 qsec vs am gear carb mpg 0.41868403 0.6640389 0.59983243 0.4802848 -0.55092507 cyl -0.59124207 -0.8108118 -0.52260705 -0.4926866 0.52698829 disp -0.43369788 -0.7104159 -0.59122704 -0.5555692 0.39497686 hp -0.70822339 -0.7230967 -0.24320426 -0.1257043 0.74981247 drat 0.09120476 0.4402785 0.71271113 0.6996101 -0.09078980 wt -0.17471588 -0.5549157 -0.69249526 -0.5832870 0.42760594 qsec 1.00000000 0.7445354 -0.22986086 -0.2126822 -0.65624923 vs 0.74453544 1.0000000 0.16834512 0.2060233 -0.56960714 am -0.22986086 0.1683451 1.00000000 0.7940588 0.05753435 gear -0.21268223 0.2060233 0.79405876 1.0000000 0.27407284 carb -0.65624923 -0.5696071 0.05753435 0.2740728 1.00000000
输出结果
qsec vs am gear carb mpg 0.41868403 0.6640389 0.59983243 0.4802848 -0.55092507 cyl -0.59124207 -0.8108118 -0.52260705 -0.4926866 0.52698829 disp -0.43369788 -0.7104159 -0.59122704 -0.5555692 0.39497686 hp -0.70822339 -0.7230967 -0.24320426 -0.1257043 0.74981247 drat 0.09120476 0.4402785 0.71271113 0.6996101 -0.09078980 wt -0.17471588 -0.5549157 -0.69249526 -0.5832870 0.42760594 qsec 1.00000000 0.7445354 -0.22986086 -0.2126822 -0.65624923 vs 0.74453544 1.0000000 0.16834512 0.2060233 -0.56960714 am -0.22986086 0.1683451 1.00000000 0.7940588 0.05753435 gear -0.21268223 0.2060233 0.79405876 1.0000000 0.27407284 carb -0.65624923 -0.5696071 0.05753435 0.2740728 1.00000000
找到相关系数舍入为零的相关矩阵-
round(cor(mtcars),0)
输出结果
mpg cyl disp hp drat wt qsec vs am gear carb mpg 1 -1 -1 -1 1 -1 0 1 1 0 -1 cyl -1 1 1 1 -1 1 -1 -1 -1 0 1 disp -1 1 1 1 -1 1 0 -1 -1 -1 0 hp -1 1 1 1 0 1 -1 -1 0 0 1 drat 1 -1 -1 0 1 -1 0 0 1 1 0 wt -1 1 1 1 -1 1 0 -1 -1 -1 0 qsec 0 -1 0 -1 0 0 1 1 0 0 -1 vs 1 -1 -1 -1 0 -1 1 1 0 0 -1 am 1 -1 -1 0 1 -1 0 0 1 1 0 gear 0 0 -1 0 1 -1 0 0 1 1 0 carb -1 1 0 1 0 0 -1 -1 0 0 1
请看以下数据帧-
x1<-sample(rexp(5,1),20,replace=TRUE) x2<-sample(runif(5,1,2),20,replace=TRUE) x3<-sample(rnorm(4,0.95,0.04),20,replace=TRUE) df_x<-data.frame(x1,x2,x3) df_x
输出结果
x1 x2 x3 1 2.89702241 1.764443 0.9478372 2 0.89472590 1.764443 0.9850543 3 0.89472590 1.299860 0.9850543 4 0.07786123 1.377727 0.9661181 5 2.89702241 1.452261 0.9478372 6 0.22655315 1.452261 0.9850543 7 2.89702241 1.452261 0.9478372 8 2.89702241 1.764443 0.9661181 9 0.46248476 1.764443 0.9850543 10 0.22655315 1.452261 0.9731809 11 0.89472590 1.764443 0.9731809 12 0.46248476 1.764443 0.9661181 13 2.89702241 1.452261 0.9731809 14 0.07786123 1.377727 0.9661181 15 0.89472590 1.377727 0.9478372 16 0.07786123 1.180832 0.9731809 17 0.22655315 1.377727 0.9731809 18 0.22655315 1.764443 0.9478372 19 2.89702241 1.764443 0.9731809 20 0.46248476 1.452261 0.9661181
cor(df_x)
输出结果
x1 x2 x3 x1 1.00000000 0.05458349 -0.2571943 x2 0.05458349 1.00000000 -0.1760571 x3 -0.25719426 -0.17605707 1.0000000
round(cor(df_x),0)
输出结果
x1 x2 x3 x1 1 0 0 x2 0 1 0 x3 0 0 1