2013-04-18 88 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(.....)}

相關問題