我想用R可视化和计算一个可变数据[1]的关系到许多其他变量的数据[2:96]如何关联和可视化一个变量的相关性与许多
我已经知道诸如psych和PerformanceAnalytics等软件包具有Pairs功能。
理想情况下,我想输出一个类似于Pairs输出的图形,但仅适用于数据[1]和每个数据[2:96]之间的相关性,而不适用于每个数据元素[1:96 ]本身,这将占用太多的空间。任何想法都将不胜感激。
我想用R可视化和计算一个可变数据[1]的关系到许多其他变量的数据[2:96]如何关联和可视化一个变量的相关性与许多
我已经知道诸如psych和PerformanceAnalytics等软件包具有Pairs功能。
理想情况下,我想输出一个类似于Pairs输出的图形,但仅适用于数据[1]和每个数据[2:96]之间的相关性,而不适用于每个数据元素[1:96 ]本身,这将占用太多的空间。任何想法都将不胜感激。
您也可以检索子集的相关矩阵来解决这个问题。例如,cor(data)[,1]
给出了列1和所有其他列之间的相关性。
使用mtcars
数据和corrplot{}
包:
install.packages("corrplot")
library(corrplot)
mcor <- cor(x = mtcars$mpg, y = mtcars[2:11], use="complete.obs")
corrplot(mcor, tl.srt = 25)
编辑:忘了一个小插曲为corrplot
出更多的方式来格式化:https://cran.r-project.org/web/packages/corrplot/vignettes/corrplot-intro.html
可以使用corrr
包focus()
您选择变量,然后用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")
要与黄土线得到散点图,您可以用ggplot2
的tidyr
包结合起来。下面是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()
有关如何工作的更多详细信息,请参阅https://drsimonj.svbtle.com/quick-plot-of-all-variables
本文可能会给你一些想法:http://stackoverflow.com/questions/5453336/plot-correlation-matrix-into-a-graph – Warner
谢谢,虽然大部分是nxn再次,当我在寻找1XN。 – dorien