5 回答

TA貢獻1884條經驗 獲得超4個贊
一、R預設調色板
這一系列函數有5個,即:
rainbow
heat.colors
terrain.colors
topo.colors
cm.colors
在R環境里面輸入問號(?)和上面任一函數名就可以獲得這5個函數的用法說明。這些函數最少需要一個參數,n,表示要得到顏色的數量。n在系統允許范圍內沒有限制。下面用彩虹色調色板函數rainbow產生的顏色繪一個色盤:
> setwd("D:/"); n=1000
> png("rainbow.disc.png", bg = "transparent")
> par(mar = c(0,0,0,0))
> pie(rep(1,times=n),labels="",col=rainbow(n),border=rainbow(n))
> dev.off()運行后回在D盤根目錄下得到一個rainbow.disc.png文件,圖形如下:
五個調色板產生的顏色對比如下:
> par(mfrow=c(5,1)); par(mar=c(0.1,0.1,2,0.1));par(xaxs="i", yaxs="i")
> n <- 10000
> barplot(rep(1,times=n),col=rainbow(n),border=rainbow(n),axes=FALSE, main="Rainbow colors");box()
> barplot(rep(1,times=n),col=heat.colors(n),border=heat.colors(n),axes=FALSE, main="heat.colors");box()
> barplot(rep(1,times=n),col=terrain.colors(n),border=terrain.colors(n),axes=FALSE,main="terrain.colors"); box()
> barplot(rep(1,times=n),col=topo.colors(n),border=topo.colors(n),axes=FALSE, main="topo.colors");box()
> barplot(rep(1,times=n),col=cm.colors(n),border=cm.colors(n),axes=FALSE, main="cm.colors"); box()
當然你可能不需要這么多顏色,改變n值就可以了:
> n <- 10
> barplot(rep(1,times=n),col=rainbow(n),border=rainbow(n),axes=FALSE, main="Rainbow colors");box()
> barplot(rep(1,times=n),col=heat.colors(n),border=heat.colors(n),axes=FALSE, main="heat.colors");box()
> barplot(rep(1,times=n),col=terrain.colors(n),border=terrain.colors(n),axes=FALSE,main="terrain.c

TA貢獻1842條經驗 獲得超13個贊
x <- rnorm(10000,0,1)
hist(x, col="grey", prob=TRUE)
lines(density(x), col="red")

TA貢獻1785條經驗 獲得超4個贊
首先可以利用fitdistr函數求得weibull分布的形狀參數和尺寸參數,假設數據為x:
12 | library(MASS) #fitdistr需要利用MASS包 fitdistr(x, densfun = "weibull" ,lower=0) |
得到形狀參數shape與尺度參數scale
然后利用ks.test進行檢驗:
1 | ks.test(jitter(x), "pweibull" ,shape,scale) |
上邊的jitter用來做小擾動,因為如果x中有重復數據的話ks.test會報錯,如果x中沒有重復數據則不需要jitter。shape是得到的形狀參數,scale是得到的尺度參數。
ks.test得到兩個結果,一個是D,越小越好,一個是p-value,這個值要大于0.05
- 5 回答
- 0 關注
- 1419 瀏覽
添加回答
舉報