R:在数据帧的多个列上使用cor.test

时间:2016-07-12 14:21:05

标签: r

它知道这似乎是一个非常简单的问题,但我无法找到答案,因为我是R编程的新手。 我有一个由第一个ID列(治疗而不是患者)和几列代谢变量组成的df。 我试着编写一个简单的脚本,这个脚本可以让我将第一列的spearman关联与所有其他变量相关联。 我已尝试使用" apply"功能如:apply(df,2,cor)但它不起作用因此我想我应该尝试使用for循环...你有没有任何消化如何执行它? 谢谢大家

1 个答案:

答案 0 :(得分:3)

我刚刚回答了类似的问题here。以下是简要总结:

安装corrr包。然后,correlate()您的数据框变量和focus()在您选择的变量上。以下是使用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

如果您不熟悉管道操作符(%>%),可以将代码读作:

focus(correlate(mtcars), mpg)

x <- correlate(mtcars)
focus(x, mpg)