2013-04-18 46 views
3

我已经将一个程序从R转换为C++。有问题的程序使用不同的值运行多次迭代,然后生成直方图和绘图。 C++图很挑剔,所以我决定将这些值保存为csv格式并将它们绘制在R中。文件相当大,对于较小的文件,10次迭代产生23000行和3列。当然这会大幅增加100或1000次迭代。 csv文件的格式是 1,3,0.0107171 ,它对应于列号,行号和数据。然后,我跑这为R:由多个实际参数匹配的形式参数“type”

>data<-read.csv(file.choose(),header=T) 
>plot(data,type="b", pch=19, xlab="X", ylab="Y") 
Error in plot.default(...) : 
    formal argument "type" matched by multiple actual arguments 

补充说明:

> hist(data[,3], xlab="Step length (m)", main="") 

直方图工作没有任何问题。请告诉我,如果我可以提供任何更多的细节,当谈到R时我不太好,所以我可能会错过某些明显的东西。提前致谢。

+1

你传入一个三列data.frame到'plot.default'。你究竟期待它产生什么? – 2013-04-18 03:37:30

+0

你想要一个伪3D图吗?那么'persp'可能会更有趣。 – 2013-04-18 04:05:29

回答

5

你传递一个data.frame到plot,其中调度plot.data.frame,这会,与超过2列data.frame,叫

pairs(data.matrix(data)) 

所以,你可以传递参数在...是有效的对于pairstype不是)

不过我想你可能要想想你想从你的数据绘制什么

  • 应该是在x轴上
  • 应该是y轴上

然后创建您的来电plot(或者matplot)本所要求什么。

-2

对不起,延迟回复。我遇到过这种情况,这是因为从另一个函数内部传递了plot函数data.frame。周围的工作是简单地做到这一点:

do.plot <- function(df = plot.df[c(1, 2), ]) { as.matrix(DF) plot(.....)}

相关问题