3

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

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

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

如何从 R 生成此输出文件?

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

4

2 回答 2

3

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

于 2012-10-25T15:51:32.527 回答
3

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

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")

在此处输入图像描述

于 2012-10-25T07:12:20.730 回答