2017-08-10 18 views
0

データセットをいくつかのデータフレームにサブセット化し、すべての相関プロットを含むpdfファイルを作成したいが、各プロットにはデータフレームの名前がタイトルとして付くはずです。ここに私のコードは次のとおりです。データフレーム名をcorrplotのタイトルとして追加するにはどうすればよいですか?

# Function 1 for correlation matrix 
cor.mtest <- function(mat, conf.level = 0.95){ 
    mat <- as.matrix(mat) 
    n <- ncol(mat) 
    p.mat <- lowCI.mat <- uppCI.mat <- matrix(NA, n, n) 
    diag(p.mat) <- 0 
    diag(lowCI.mat) <- diag(uppCI.mat) <- 1 
    for(i in 1:(n-1)){ 
    for(j in (i+1):n){ 
     tmp <- cor.test(mat[,i], mat[,j], conf.level = conf.level) 
     p.mat[i,j] <- p.mat[j,i] <- tmp$p.value 
     lowCI.mat[i,j] <- lowCI.mat[j,i] <- tmp$conf.int[1] 
     uppCI.mat[i,j] <- uppCI.mat[j,i] <- tmp$conf.int[2] 
    } 
    } 
    return(list(p.mat, lowCI.mat, uppCI.mat)) 
} 

# Function 2 for correlation plot 
correlation <- function(obj){ 
    dat <- select_if(obj, is.numeric) 
    pval.mat <- cor.mtest(dat,0.95) 
    title <- #NAME OF THE DATA FRAME# 
    dat1 <- corrplot(cor(dat,method="pearson"),method="number",type="upper",sig.level=0.05,p.mat = pval.mat[[1]], tl.pos="upper") 
    dat2 <- corrplot(cor(dat,method="pearson"),add=T,type="lower",method="square", tl.pos="n", title=title, mar=c(0,0,1,0)) 
    return(list(dat1, dat2)) 
} 

# Saving all correlation in a PDF file 
par(ask=F) 
pdf('correlations.pdf') 
corrbv1nona <- correlation(bv1nona) 
corrbv2nona <- correlation(bv2nona) 
corrbv3nona <- correlation(bv3nona) 
corrbv4 <- correlation(bv4) 
corrfull1nona <- correlation(full1nona) 
corrfull2nona <- correlation(full2nona) 
corrfull3nona <- correlation(full3nona) 
corrfull4 <- correlation(full4) 
corrsl1nona <- correlation(sl1nona) 
corrsl2nona <- correlation(sl2nona) 
corrsl3nona <- correlation(sl3nona) 
corrsl4 <- correlation(sl4) 
dev.off() 

答えて

0

あなたはmatch.callと名を抽出することができます

title <- as.character(as.list(match.call())$obj) 

correlationのあなたの最初の使用のために、これは"bv1nona"titleを設定する必要があります。

1

それとも

title <- deparse(substitute(obj)) 
と名を抽出することができます
関連する問題