0

我正在尝试生成与示例相同的图表,但使用不同的数据。这是我的代码:

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"

在此处输入图像描述

代码输出

在此处输入图像描述

我想像这样生成

在此处输入图像描述

4

1 回答 1

1

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

在此处输入图像描述

这似乎是您正在寻找的东西?

编辑:

之后您可以添加文本,圆圈放置在 1 - 数量的 vars 网格上。例如:

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)     
    }
}
于 2012-04-04T11:12:42.860 回答