我試圖繪製傳染病傳播的模擬模型。在R中繪製散點圖
我的數據有三列x,y和感染時間。我需要在每個時間點(t)繪製每個點(x座標,y座標),其中t在1和4之間運行。因此,我正在尋找四個圖形,每次一個圖形,第一個圖形繪製第一個感染點,第二個在時間1和2繪製受感染點等。
我知道我可以使用par(mfrow = c(2,2))獲得多個圖表,但我不確定如何合併每個時間進入代碼。有什麼建議麼?
我試圖繪製傳染病傳播的模擬模型。在R中繪製散點圖
我的數據有三列x,y和感染時間。我需要在每個時間點(t)繪製每個點(x座標,y座標),其中t在1和4之間運行。因此,我正在尋找四個圖形,每次一個圖形,第一個圖形繪製第一個感染點,第二個在時間1和2繪製受感染點等。
我知道我可以使用par(mfrow = c(2,2))獲得多個圖表,但我不確定如何合併每個時間進入代碼。有什麼建議麼?
有大約一千種方法可以做到這一點,這取決於您的原始數據集。從長遠來看,Learning ggplot2
可能是最好的。使用基本圖形,不過,你可以爲每個數據子集的劇情(也可以使用subset
命令,而不是t<=Ti
,自定義顏色等):
par(mfrow=c(2,2))
for (Ti in 1:4){
plot(x[t <= Ti], y[t <= Ti])
}
如果你想傳達的通道時間,您可能想要在每個圖上不可見地繪製整個數據範圍,以設置相同的座標軸。然後使用points
或lines
將數據繪製到各那些相同幀...
par(mfrow=c(4,1))
for (Ti in 1:4){
plot(x, y, type="n")
points(x[t <= Ti], y[t <= Ti])
}
我會使用軟件包ggplot2。使用install.packages("ggplot2")
然後library(ggplot2)
一旦軟件包安裝安裝它,嘗試代碼:
p <- ggplot(data, aes(x=x,y=y)) + geom_point() + facet_wrap(~t)
我敢肯定,你可能已經發現了這一點,而不問一個問題,關於這個站點!在提出這些問題之前,請小心做更多的研究。
我完全同意,但請記住@Carly詢問[crossvalidated](http://stats.stackexchange.com),可能不會當時已經考慮過這個網站。另外,當您不知道要查找的確切條款時,搜索功能通常可能無法檢索到正確的內容。你有一個點,但只是說'。 – Backlin
我認爲這種方法只能在第二個方面繪製時間點2,在第三個方面只繪製時間點3等等(或者我錯過了什麼?)這個問題問到如何在第二個方面繪製時間1和2 /面板等 –
在這裏是使用鹼的圖形的一種方法:
par(mfrow=c(2,2))
for (i in 1:4) {
plot(y ~ x, data= mydf[ mydf$time <= i, ])
}
或
lapply(1:4, function(tt) plot(x[time<=tt], y[time<=tt]))
或者其他取決於數據結構的類似方法。
你可以找到一個很好的概述這裏:
http://www.statmethods.net/graphs/scatterplot.html
幫助我們提供您的數據的一些樣本,以幫助你,這使你的一個問題[/重現的問題(http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example) –