正式参数“type”由多个实际参数匹配

时间:2013-04-18 03:29:54

标签: r plot

我已将程序从R翻译成C ++。有问题的程序使用不同的值运行自身的多次迭代,然后生成直方图和绘图。 C ++图是挑剔的,所以我决定以csv格式保存值并将它们绘制在R中。文件相当大,对于较小尺寸的文件,10次迭代产生23000行和3列。当然,这种增加会在100或1000次迭代中大幅增加。 csv文件的格式是 1,3,0.0107171 它对应于col num,row num和data。然后我把它运行到R:

>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来说不是很好,所以我可能会遗漏一些明显的东西。提前谢谢。

3 个答案:

答案 0 :(得分:5)

您正在将一个data.frame传递给plot,该plot.data.frame将调度pairs(data.matrix(data)) ,对于包含2列以上数据的数据框,将调用

...

所以你可以在pairs中传递对type有效的参数(plot不是)

但是我想你可能想要考虑你想从你的数据中绘制什么

  • x轴应该是什么
  • y轴应该是什么

然后根据需要创建对matplot(或者{{1}})的调用。

答案 1 :(得分:0)

就我而言,这表明我的输入数据结构不是数字。 我使用as.numeric来解决它,如下所示:

plot(as.numeric(df[1, 1:9]), as.numeric(df[2, 1:9]),   
    las = 2, type = "l", 
    col = colrs[3],lwd = lwds[1], ylim = c(0, 1.05*maxnumb), xlim = c(-0.6, yAx), main = weDraw, ylab = "OD 600", xlab = "hours", xaxt = "n")

答案 2 :(得分:-2)

很抱歉迟到的回复。我遇到了这个,这是因为从另一个函数内部传递了一个data.frame。解决方法是简单地做到这一点:

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