1
我有一個數據集,我需要繪製每個變量。我爲此做了一個循環,因爲數據集包含50個變量。這是我到目前爲止:如何在R中的循環函數中添加一行(如abline)到一個圖中
invisible(lapply(colnames(Data),function(x){
plot(Data[,x],main=x,type="l", xlab= 'Week number', ylab='Amount')
}))
這將自動繪製在我的數據集中的所有變量在單獨的情節。但是,我需要在所有這些情節中畫出線條。這個想法是我爲每個x添加一條平均線。因此,高度上的水平線對應於平均值x的值。我試圖通過在上面的函數中添加abline(h = mean(x))函數來實現,但這不起作用。你們有什麼想法如何做到這一點?
對於'plot'函數,我傾向於使用'for'循環而不是'lapply'。我沒有任何問題,比如你在這裏用'for(...){;情節(...); abline(...); };'。 – lmo
難道你不是說你添加了'abline(h = mean(Data [,x]))'?這也可能是由於列中的「NA」;使用'mean(Data [,x],na.rm = TRUE)'。 – MrGumble
@MrGumble謝謝!這個伎倆。我認爲這是由於NA不起作用。你是否也知道我可以如何添加2行,只有數據集中x的最後5個值才能添加2行,比平均值高20%,比平均值低20%? –