簡體   English   中英

通過在R中使用預定義變量來繪制函數

[英]Plot function by using predefined variables in R

我想在R中創建一個類。我有很多表,並且想通過一個函數來繪制它們。 我使用的代碼是:

temp <- data.frame(gsbi1_30,gsbi1_29,ob_30,ob_29)

其中gsbi1_30,gsbi1_29,ob_30,ob_29是表格。

par(mfrow=c(2,2))
for (i in temp){ plot(i$ambtemp,type="o", pch=22, lty=2, col="brown",xlab = "Hour  2007/09/29" , ylab= "Ambient Tempreture" )
                 title(main="Hourly Mean, node 25", col.main="brown", font.main=1) }

我想到了這個錯誤:

Error in plot(i$ambtemp, type = "o", pch = 22, lty = 2, col = "brown",  : 
  error in evaluating the argument 'x' in selecting a method for function 'plot': Error in i$ambtemp : $ operator is invalid for atomic vectors

樣本數據:

-0.6 -1.2 -1.0 -0.8 -0.4 -0.2

所有其他樣本都具有相同的結構。

問題在於,您不應該首先將temp創建為data.frame。 如果gsbi1_30,gsbi1_29,ob_30和ob_29本身是data.frames(我懷疑),則data.frame()會將它們的列組合以產生一個大的data.frame。

而是創建一個list

temp <- list(gsbi1_30,gsbi1_29,ob_30,ob_29)

並使用lapply()對其進行迭代( for循環在R中效率非常低):

par(mfrow=c(2,2))
lapply(temp, function(i) {
    plot(i$ambtemp, type = "o", pch = 22, lty = 2, col = "brown", xlab = "Hour  2007/09/29" , ylab = "Ambient Tempreture")
})

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM