R中的相关性

时间:2012-04-04 04:55:29

标签: r correlation

我正在尝试生成与example中相同的图形但使用不同的数据。这是我的代码:

library(SciViews)

args <- commandArgs(TRUE)
pdfname <- args[1]
datafile <- args[2]

pdf(pdfname)
eqdata = read.csv(datafile , header = T,sep=",")
(longley.cor <- correlation(eqdata$feqs))
# Synthetic view of the correlation matrix
summary(longley.cor) 
p <- plot(longley.cor)
print(p)
dev.off()   

和数据

ques,feqs
"abc",20
"def",10
"ghi",40
"jkl",10
"mno",20
"pqr",10

我使用此命令

Rscript ./rscript/correlation.R "/home/co.pdf" "/home/data_correlation.csv"

enter image description here

代码输出

enter image description here

我想生成这样的

enter image description here

1 个答案:

答案 0 :(得分:1)

您可以尝试plotcorr包中的ellipse功能。帮助页面提供了以下示例:

enter image description here

这似乎是你在找什么?

编辑:

您可以在之后添加文字,将圆圈放置在1个数量的vars网格上。 E.g:

data(mtcars)
Corrmat  <- cor(mtcars)
cols <- ifelse(Corrmat>0, rgb(0,0,abs(Corrmat)), rgb(abs(Corrmat),0,0))

library(ellipse)
plotcorr(Corrmat,col=cols)

n <- nrow(Corrmat)
for (i in 1:n)
{
    for (j in 1:n)
    {
        text(j,i,round(Corrmat[n-i+1,j],2),col="white",cex=0.6)     
    }
}