2016-07-29 110 views
4

我想用R可视化和计算一个可变数据[1]的关系到许多其他变量的数据[2:96]如何关联和可视化一个变量的相关性与许多

我已经知道诸如psych和PerformanceAnalytics等软件包具有Pairs功能。

理想情况下,我想输出一个类似于Pairs输出的图形,但仅适用于数据[1]和每个数据[2:96]之间的相关性,而不适用于每个数据元素[1:96 ]本身,这将占用太多的空间。任何想法都将不胜感激。

+0

本文可能会给你一些想法:http://stackoverflow.com/questions/5453336/plot-correlation-matrix-into-a-graph – Warner

+0

谢谢,虽然大部分是nxn再次,当我在寻找1XN。 – dorien

回答

1

您也可以检索子集的相关矩阵来解决这个问题。例如,cor(data)[,1]给出了列1和所有其他列之间的相关性。

3

可以使用corrrfocus()您选择变量,然后用ggplot2包来绘制结果。例如,获取/的mpg情节与相关的mtcars数据集中的所有其他变量:

library(corrr) 
library(ggplot2) 

x <- mtcars %>% 
    correlate() %>% 
    focus(mpg) 
x 
#> # A tibble: 10 x 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 

x %>% 
    mutate(rowname = factor(rowname, levels = rowname[order(mpg)])) %>% # Order by correlation strength 
    ggplot(aes(x = rowname, y = mpg)) + 
    geom_bar(stat = "identity") + 
    ylab("Correlation with mpg") + 
    xlab("Variable") 

enter image description here

1

要与黄土线得到散点图,您可以用ggplot2tidyr包结合起来。下面是mpg与在mtcars数据集中的所有其他变量散点图的例子:

library(tidyr) 
library(ggplot2) 

mtcars %>% 
    gather(-mpg, key = "var", value = "value") %>% 
    ggplot(aes(x = value, y = mpg)) + 
    facet_wrap(~ var, scales = "free") + 
    geom_point() + 
    stat_smooth() 

enter image description here

有关如何工作的更多详细信息,请参阅https://drsimonj.svbtle.com/quick-plot-of-all-variables