通過分組數據集的迴歸線我之前問過這個問題(請參閱How to symbolize groups separately in a graph (R)),但無法獲得建議的代碼工作。我想知道我是否可以在xyplot
中做我需要的。我用這個代碼:xyplot(R)
xyplot(y~x,groups=site,type=c("p","r"))
,試圖得到一個迴歸直線,但它單獨給我通過每個組一行。我想以不同的方式對這些組進行符號化,但他們組成了一個我想要添加該行的單個數據集。
我看着Plotting xyplot with regression line on lattice graphics,但我不能讓面板功能工作(這可能是我對R的缺乏經驗)。
與面板函數有關的側面問題:如何在我的代碼中插入換行符,並且它們是否必要(包括將大括號放在與函數不同的行上)?不同的面板功能是否需要以某種特定的方式分開?
編輯:請問abline
有用嗎?在繪製我在xyplot
中的點後應用它時,它不會給出任何錯誤,但也不會繪製線條。
數據集:
s x y COB 0 2 COB 0 6 COB 0 4 COB 0 3 COB 0 3 COB 2 7 COB 2 8 COB 2 4 COB 2 13 COB 2 9 JP 9 9 JP 9 9 JP 9 14 JP 14 20 JP 14 18 JP 14 19
代碼:
xyplot(y~x|site,data=D,panel=function{x,y,...){panel.xyplot(x,y,...)panel.abline(lm(y~x),col="red")})
錯誤我收到: Error: unexpected '{' in "xyplot(y~x|site,data=D,panel=function{"
新代碼:
xyplot(y~x,groups=site,auto.key=list(columns=nlevels(Data$s)),panel=function(x,y,...){panel.xyplot(x,y,...);panel.abline(lm(y~x),col="red")},xlab="Years burned",ylab="Species per plot",main="Years burned vs. number of species",par.settings=list(superpose.symbol=list(pch=15,cex=2,col=c("blue,"green")))
錯誤:
Error: unexpected symbol in "s=nlevels(Data$s)),panel=function(x,y,...){panel.xyplot(x,y,...);panel.abline(lm(y~x),col="red")},xlab="Years burned",ylab="Species per plot",main="Years burned vs. number of species",par.sett"
感謝。
看到這個問題:http://stackoverflow.com/questions/14185600/superposed-xyplot-panels-with-grouped-regression-行 –
數據中沒有「網站」。另外,你不需要調節,你需要'groups ='。正如我的答案。 –