我正在完成一个R教程。目前我正在制作直方图。随着教程的进展,它要求更改已经构建的直方图 - 添加一个xlab,添加main等等。
除非我每次都要从头开始创建直方图,否则这很好。
如何编辑现有内容而不是再次写出所有代码?将直方图作为对象并且每次只编辑它是一个问题吗?我试过了。让我们说我从这开始:
hearthist <- hist(outcome[,11])
然后我想添加一个xlabel。我毫不高兴地尝试了这个:
hearthist (xlab="30-Day Death Rate")
这里最好的做法是什么?每次要添加参数时,是否需要重新创建新的直方图?
答案 0 :(得分:5)
没有;基本图形在纸上使用笔成语;一旦你得到一个标记,直到你得到一张新纸。
因此,请使用学习适当的工具。在这种情况下,一个R-aware编辑器,您可以编写R代码并将其传输到正在运行的R实例中。我使用ESS和Emacs,但是kool孩子们使用RStudio。给后者一个。
即使是标准的普通旧R也有一种历史机制,允许您向后滚动命令并从命令行重新运行它们。
或者学会使用适当的R工具。 title()
允许您添加 xlab
,ylab
,main
和sub
到现有的地块。
答案 1 :(得分:2)
您正在尝试构建一个场景。我的意思是你在基本情节中添加更多输出。 我认为图形包在视觉上解码绘图信息方面不是很灵活。
我会使用其他R-graphics pacakge,比如基于网格包的Lattice / ggplot2,它更适合这种操作。
这里有一个使用ggplot2的例子:
set.seed(1234)
df <- data.frame(cond = factor( rep(c("A","B"), each=200) ),
rating = c(rnorm(200),rnorm(200, mean=.8)))
ggplot(df, aes(x=rating)) + geom_histogram(binwidth=.5)
现在我编辑原始场景的xlab:
last_plot()+xlab("30-Day Death Rate")