0

以前と同じ例 ( data.table を使用したグループ化されたデータの補間) がありますが、ここでは ggplot2 を使用して、site_no ごとに単一の .pdf プロットを作成しようとしています。各 site_no のデータが 1 つの .pdf に印刷される代わりに、すべてのプロットのすべてのデータが、.pdf という名前の各 site_no に印刷されます。お手伝いできますか?

ありがとうございました。

イルッカ

library(data.table)
library(ggplot2)

tempbigdata1 <- data.table(c(14.80, 14.81, 14.82), c(7900, 7920, 7930),      c("02437100", "02437100", "02437100"))

tempbigdata2 <- data.table(c(9.98, 9.99, 10.00), c(816, 819, 821), c("02446500", "02446500", "02446500"))

tempbigdata3 <- data.table(c(75.65, 75.66, 75.67), c(23600, 23700, 23800), c("02467000", "02467000", "02467000"))

tempsbigdata <- rbind(tempbigdata1, tempbigdata2, tempbigdata3)

setnames(tempsbigdata,c("depth", "discharge", "site_no"))

setkey(tempsbigdata, site_no)

tempsbigdata
depth       discharge   site_no
1: 14.80    7900        02437100
2: 14.81    7920        02437100
3: 14.82    7930        02437100
4:  9.98    816         02446500
5:  9.99    819         02446500
6: 10.00    821         02446500
7: 75.65    23600       02467000
8: 75.66    23700       02467000
9: 75.67    23800       02467000

ratingsplot <- tempsbigdata[,list(discharge,depth),by=site_no]

for (u in unique(ratingsplot$site_no)) {pdf(file = file.path("/plots/",   paste0(u, "_rating.pdf", sep = "")))
p <- ggplot(ratingsplot, aes(x = discharge, y = depth, group = site_no))
print(p <- p + geom_point() + theme_bw())
dev.off()
}  
4

2 に答える 2

1

実際にサブセット化する必要がありdata.tableます。例えば:

p <- ggplot(ratingsplot[J(site_no=u)], aes(x = discharge, y = depth, group = site_no))

(また、への呼び出しにスラッシュは必要ありませんfile.path。これらは関数によって追加されます。)

于 2013-08-17T03:01:59.170 に答える