Ответ 1
Из ответов здесь представлены два решения:
library(ggplot2)
f <- function(n) {
rand <- rnorm(n)
no <- seq_len(n)
df <- data.frame(no=no, rand=rand)
if (n > 10) {
png("plot.png")
print({
p <- ggplot(df)
p + geom_point(aes(x=no, y=rand))
})
dev.off()
}
}
f(11)
Примечание. Я знал, что мне нужно использовать print()
, но способ, которым я это пробовал, не работал, потому что он не был помещен в нужное место.
Кроме того, я ранее использовал параметр ggsave
, но это тоже не сработало. Конечно, теперь это работает. Он также, кажется, имеет лучшее разрешение, чем использование png()
:
library(ggplot2)
f <- function(n) {
rand <- rnorm(n)
no <- seq_len(n)
df <- data.frame(no=no, rand=rand)
if (n > 10) {
p <- ggplot(df)
p + geom_point(aes(x=no, y=rand))
ggsave(file="plot.png")
}
}
f(11)
Спасибо всем.