我想在GNU图上绘制R的输出。例如,我有一个矩阵x
存储整数,我将矩阵y
设为y<- x^2
。
现在GNU绘图需要以下列格式输入输入数据文件:
x1 y1
x2 y2
x3 y3
... and so on...
如何从R生成此输出文件?
具体来说,如何删除R输出中显示的索引并垂直排列矩阵的元素?
答案 0 :(得分: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")
答案 1 :(得分:3)
在TeachingDemos包中,R和gnuplot之间有一组基本的接口函数,请参阅?gp.open
。这些可以做你想要的,或者你可以查看代码,看一下以gnuplot想要的格式创建数据文件的例子。