我正在尝试生成与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"
代码输出
我想生成这样的
答案 0 :(得分:1)
您可以尝试plotcorr
包中的ellipse
功能。帮助页面提供了以下示例:
这似乎是你在找什么?
您可以在之后添加文字,将圆圈放置在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)
}
}