[英]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.