4

我正在学习 R 教程。目前我正在制作直方图。随着教程的进行,它会要求对已构建的直方图进行更改 - 添加 xlab、添加 main 等。

这很好,除非每次我必须从头开始创建直方图。

一个编辑如何存在而不是再次写出所有代码?是否将直方图作为对象并每次都对其进行编辑?我试过了。可以说我从这个开始:

hearthist <- hist(outcome[,11])

然后我想添加一个 xlabel。我没有高兴地尝试了这个:

hearthist (xlab="30-Day Death Rate")

这里的最佳做法是什么?每次我想添加参数时是否需要重新创建一个新的直方图?

4

2 回答 2

5

不; 基本图形使用笔在纸上的习语;一旦你做了一个标记,直到你得到一张新的纸。

所以,使用学习相应的工具。在这种情况下,您可以编写 R 代码并将其通过管道传输到正在运行的 R 实例中的 R 感知编辑器。我将 ESS 与 Emacs 一起使用,但酷儿们使用 RStudio。给后者一个机会。

即使是标准的、普通的旧 R 也有一个历史机制,它允许您向后滚动命令并从命令行重新运行它们。

或者学习使用适当的 R 工具。title()允许您向现有绘图添加 xlabylabmain和。sub

于 2013-01-20T15:22:15.683 回答
2

您正在尝试构建一个场景。我的意思是您将进一步的输出添加到基本绘图中。我认为图形包在视觉解码绘图信息方面不是很灵活。

我会使用其他基于网格包的 R-graphics 包,如 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")
于 2013-01-20T15:23:05.603 回答