【问题标题】:Formatting output of RR的格式化输出
【发布时间】:2012-10-15 07:42:42
【问题描述】:

我想在 GNU 绘图上绘制 R 的输出。例如,我有一个矩阵x 存储整数,我将矩阵y 设为y<- x^2

现在 GNU 绘图需要以下格式的输入数据文件:

x1 y1
x2 y2
x3 y3
... and so on...

如何从 R 生成这个输出文件?

具体来说,如何删除 R 输出中显示的索引并垂直排列矩阵的元素?

【问题讨论】:

  • 尝试 t(x) 或 t(matrix) 垂直排列它们
  • 阅读?write.table。查看选项col.namesrow.namessepquote。另外,如果你使用 R,为什么要使用 GNU plot?
  • ...或使用 R 进行绘图。我喜欢只有一个工具可以使用。尤其是在使用 ggplot2 时,您在 R 中拥有非常强大的绘图环境。
  • 我添加了一些 R 生成的示例图。

标签: r plot gnu output


【解决方案1】:

如果你想绘制两个向量,或者对矩阵做一些事情,我并不完全清楚。我假设第一个。让我们创建一些示例数据:

x = 1:10
y = x^2    
z = cbind(x, y)

接下来,我们把它放在一个文件中:

write.table(z, file = "/tmp/spam", row.names = FALSE, col.names = FALSE)

如果我们检查输出:

$ cat /tmp/spam
1 1
2 4
3 9
4 16
5 25
6 36
7 49
8 64
9 81
10 100

我认为这就是你所需要的。或者,只需这样做:

plot(y~x, z, type = "l")

并完全避免使用 GNUplot。或者更好的 imo,使用 ggplot2:

require(ggplot2); theme_set(theme_bw())
qplot(x, y, data = data.frame(z), geom = "line")

【讨论】:

    【解决方案2】:

    在 TeachingDemos 包中有一组 R 和 gnuplot 之间的基本接口函数,请参阅 ?gp.open。这些可能会满足您的需求,或者您可以查看代码以获取以 gnuplot 所需格式创建数据文件的示例。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-01-24
      • 1970-01-01
      • 1970-01-01
      • 2012-01-07
      • 2023-03-04
      • 1970-01-01
      • 2017-02-20
      • 2016-10-07
      相关资源
      最近更新 更多