0

それぞれに 3 つの時系列を含む 50 個のファイルがあり、同じタブ区切り形式になっています。具体的には、各ファイルには 250 の観測が含まれており、次のようになります。

1 8.83229 0.02544 0.02544
2 2.95561 0.02544 0.02544
3 1.27395 0.02544 0.02544
4 2.01115 0.02544 0.02544
5 2.38058 0.02383 0.02383
6 1.10755 0.02383 0.02383
7 1.16735 0.02013 0.02013
8 1.57755 0.02013 0.02013
9 1.81942 0.02013 0.02013
10 1.45921 0.01611 0.01611
...
246 0.04564 0.02383 0.01611
247 0.04357 0.02383 0.01611
248 0.03651 0.02383 0.01611
249 0.03334 0.02383 0.01611
250 0.03438 0.02383 0.01611

最初の列は明らかにインデックスで、他の 3 つの列は時系列です。これら 50 個のファイルすべてをプロットするために、別のシェル スクリプトから呼び出される gnuplot スクリプトを作成しました。しかし、LaTeX で書かれた出版物で、3x4 または 4x5 が 1 つの A4 になるように、これらのプロットを整理したいと思います。これにはLaTeXパッケージまたはgnuplotのトリックがありますか? Rでこれを行う方が簡単でしょうか?どんな提案でも大歓迎です。

4

2 に答える 2

5

このようなもの、

library(reshape2)
library(plyr)
library(ggplot2)

setwd("/Users/baptiste/data/")

lf <- list.files(pattern=".txt")

read_file <- function(f, ...){

  result <- read.table(f, ...)
  names(result) <- c("id", "ts1", "ts2", "ts3")
  result

}

## read all files in a list
all <- llply(lf, read_file, .progress="text")
names(all) <- paste0("file", seq_along(all))

m <- melt(all, id = "id") # to long format
str(m)

## facetted plot
ggplot(m) + facet_wrap( ~ L1, ncol = 4 ) +
  geom_path(aes(id, value, colour = variable))

ggsave("facetted_plot.pdf", width = 10, height = 10)

## alternative: multiple plots
library(gridExtra)
plots <- dlply(m, "L1", function(d) {
  ggplot(d) + geom_path(aes(id, value, colour = variable))
})
ml <- do.call(marrangeGrob, c(plots, list(nrow=3, ncol=4)))

ml
## multipage pdf with 3x4 on each page
ggsave("multipage.pdf", ml)

(未テスト)

于 2012-05-03T22:26:32.657 に答える
3

これらの種類の複合プロットの作成は、latticeまたはを使用して非常に簡単に行うことができますggplot2。私ggplot2は、これらの種類の複合プロットがファセットを使用して構築される を好みます。そのようなプロットがどのように見えるかの視覚的なティーザー (ここから):

p <- ggplot(diamonds, aes(carat, ..density..)) + 
  geom_histogram(binwidth = 0.2) + facet_grid(clarity ~ cut) 

ここに画像の説明を入力

これはヒストグラムですが、このように簡単に時系列を描くことができます。または、私が書いたレポートの図 3.6 を見てください。個別のプロットを作成する必要がないことに注意してください。ggplot2 がすべてを処理します。これは、多数のサブプロットを含む 1 つの大きなプロットです。詳細については、こちらのggplot2 ドキュメントを参照してください。

于 2012-05-03T21:50:04.340 に答える