在cor.matrix中指定变量

时间:2016-08-12 22:29:11

标签: r deducer

尝试使用Deducer' cor.matrix来创建要在ggcorplot中使用的相关矩阵。

尝试运行一个简单的例子。只显式指定数据中的变量名称:

cor.mat<-cor.matrix(variables=d(Sepal.Length,Sepal.Width,Petal.Length,Petal.Width),
                      data=iris[1:4],test=cor.test,method='p')

但我希望能够简单地使用所提供数据中的所有列。

此:

cor.mat<-cor.matrix(data=iris[1:4],test=cor.test,method='p')

抛出错误:

Error in eval(expr, envir, enclos) : argument is missing, with no default

这:

cor.mat<-cor.matrix(variables=d(as.name(paste(colnames(iris)[1:4]),collapse=",")),
                    data=iris[1:4],test=cor.test,method='p')

Error in as.name(paste(colnames(iris)[1:4]), collapse = ",") : 
  unused argument (collapse = ",")

那么有没有办法告诉variables使用data中的所有列而不明确指定它们?

1 个答案:

答案 0 :(得分:0)

该函数的第一个参数是variables =,这是必需的但你没有指定(你有data =)。尝试

cor.mat <- cor.matrix(variables = iris[1:4], test = cor.test, method = 'p')
ggcorplot(cor.mat, data=iris)

enter image description here