如何在 R 语言中将相关矩阵中的相关值四舍五入为零小数?
r programmingprogrammingserver side programming更新于 2025/6/25 17:52:17
要计算相关矩阵,我们只需使用 cor 函数并指定数据框对象名称即可。例如,如果我们有一个名为 df 的数据框,那么可以使用 cor(df) 来计算相关矩阵。但结果中的小数位太多,无法准确表示相关性。如果想要舍去小数点后的值,可以使用 round 函数。
以 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