2016-11-21 15 views
0

私のデータ(TransDat70)は合計103個の変数を含んでいます。最初の102は「V1」から「V102」まで、最後の変数は「Time.Min」という名前です。ループで複数のggplotを別々のファイルに生成して保存する

変数 "Time.Min"に対して各変数(V1〜V102)の102個のggplotsを生成する必要があります。次に、これらのggplotをすべて、比較のために別々のファイル(pdf)に保存する必要があります。

私はオンラインで見つけることができたコードを使用しようとしましたが、これまでのところ私のために働いたことはありませんでした。ここで

は私のコードです:

var_list = combn(names(TransDat70)[1: 102], 2, simplify = FALSE) 
plot_list = list() 

for (i in 1: 3) { 
    p = ggplot(TransDat70, aes_string(x = var_list[[i]][1], y = var_list[[i]][2])) + geom_point() 
    plot_list[[i]] = p 
} 

for (i in 1: 3) { 
    plot70 = paste("iris_plot_", i, ".tiff", sep = "") 
    tiff(plot70) 
    print(plot_list[[i]]) 
    dev.off() 
} 

pdf("plots.pdf") 

for (i in 1: 3) { 
    print(plot_list[[i]]) 
} 

dev.off() 

任意の提案?

答えて

0

別々のファイルで別々のプロットを意味する場合はどうでしょうか?

library(ggplot2) 

# FAKE DATA AS EXAMPLE 
TransDat70 <- data.frame(
    1:10, 
    1:10, 
    1:10, 
    1:10, 
    1:10 
) 

colnames(TransDat70) <- c('V1', 'V2', 'V3', 'V4', 'Time.Min') 

for (i in 1:(length(TransDat70) - 1)) { 
    p <- ggplot(TransDat70, aes_string(x = paste('V', toString(i), sep=''), y='Time.Min')) + geom_point() 
    ggsave(paste('~/Desktop/plot_', i, '.pdf', sep=''), p) 
} 

詳細オプションについては、ggsaveのドキュメントを参照してください。

これらをすべて大きなファイルにまとめたい場合は、Printing multiple ggplots into a single pdf, multiple plots per pageをご覧ください。

しかし、その多くのプロットでは、おそらくプロット内に多くの点がある場合は、開くには問題があります。その場合、それらを別々のファイルとして比較するほうが良いかもしれません。

関連する問題