数据帧的多个变量之间的相关性

Mil*_*mar 5 r correlation

我有data.frame10个变量R.让我们称呼他们var1 var2......var10

我想找到一个相关性var1相对 var2,var3...var10

我们怎么做?

cor函数可以一次找到2个变量之间的相关性.通过使用我必须cor为每个分析编写函数

Sim*_*son 8

我的包corrr有助于探索相关性,对此有一个简单的解决方案。我将使用 mtcars 数据集作为示例,并说我们要关注mpg与所有其他变量的相关性。

install.packages("corrr")  # though keep eye out for new version coming soon
library(corrr)
mtcars %>% correlate() %>% focus(mpg)


#>    rowname        mpg
#>      <chr>      <dbl>
#> 1      cyl -0.8521620
#> 2     disp -0.8475514
#> 3       hp -0.7761684
#> 4     drat  0.6811719
#> 5       wt -0.8676594
#> 6     qsec  0.4186840
#> 7       vs  0.6640389
#> 8       am  0.5998324
#> 9     gear  0.4802848
#> 10    carb -0.5509251
Run Code Online (Sandbox Code Playgroud)

在这里,correlate()生成一个相关数据框,focus()让您专注于某些变量与所有其他变量的相关性。

仅供参考,与包的focus()工作方式类似,不同之处在于它会更改行和列。因此,如果您熟悉,您应该会发现它易于使用。例如:select()dplyrselect()focus()

mtcars %>% correlate() %>% focus(mpg:drat)

#>   rowname        mpg        cyl       disp         hp        drat
#>     <chr>      <dbl>      <dbl>      <dbl>      <dbl>       <dbl>
#> 1      wt -0.8676594  0.7824958  0.8879799  0.6587479 -0.71244065
#> 2    qsec  0.4186840 -0.5912421 -0.4336979 -0.7082234  0.09120476
#> 3      vs  0.6640389 -0.8108118 -0.7104159 -0.7230967  0.44027846
#> 4      am  0.5998324 -0.5226070 -0.5912270 -0.2432043  0.71271113
#> 5    gear  0.4802848 -0.4926866 -0.5555692 -0.1257043  0.69961013
#> 6    carb -0.5509251  0.5269883  0.3949769  0.7498125 -0.09078980
Run Code Online (Sandbox Code Playgroud)