一个数据框有20列,我想找到列"a"与其余列的相关性.
我怎么能用dplyr做到这一点?
我知道如何进行个别关联,例如:
test %>%
dplyr::summarize(cor(a, b))
Run Code Online (Sandbox Code Playgroud)
或者summaryrise_each的意思.
但是我怎么能做到相关呢?
两个用例:
corrr包使用dplyr作为后端(因此很容易使用它)通过correlate() %>% focus()以下方式执行此操作:
library(corrr)
mtcars %>%
correlate() %>%
focus(mpg)
#> # A tibble: 10 × 2
#> 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
mtcars %>%
select(mpg, disp, hp) %>%
correlate() %>%
focus(mpg)
#> # A tibble: 2 × 2
#> rowname mpg
#> <chr> <dbl>
#> 1 disp -0.8475514
#> 2 hp -0.7761684
Run Code Online (Sandbox Code Playgroud)
focus()dplyr::select()除了它排除行中任何剩余的列之外,其行为类似.如果有兴趣,请在这里查看focus_.cor_df()GitHub .