![](/img/trans.png)
[英]How to plot the graph in python like varImpPlot() method plots in R ,for plotting the important variables in Random forest?
[英]Plotting PDFs of circular random variables in R (polar plots)
我試圖找到一種合理的方法來可視化 R 中圓形隨機變量的概率密度函數。最合適的方法是在極坐標圖上。 但是,我不確定如何在 R 中對此進行編碼。有人可以使用 包裝指數分布為例說明如何做到這一點嗎? 我真的很感激。
循環包似乎專注於 vonMises 分發。 您可以推出自己的包裹指數概率分布:
wrapped.exp <- function(theta, lambda){
lambda*exp(-lambda*theta)/(1-exp(-2*pi*lambda) )}
並使用 plotrix 包的radial.plot
:
theta <- seq(0, 2*pi, len=100)
rval <- wrapped.exp(theta, .2)
# radial.plot's default radial limits are just the range so not really good for distributions.
radial.plot(rval,theta, radial.lim=c(0, 0.4))
繪圖代碼:
> png()
> rval <- wrapped.exp(theta, .2)
> radial.plot(rval,theta, radial.lim=c(0, 0.4))
> dev.off()
我會注意到“包裹指數”公式實際上並不是閉區間[0, 2*pi]
上的真正數學函數[0, 2*pi]
因為該函數在 0 = 2 pi處有兩個值,因此它可能應該有代碼來制作任何theta + 或 > 2 pi 為 NA 或“mod 2 pi”。 進一步注意:該公式實際上只是 2 pi處的截斷指數。 由於它是一個截斷的密度,它似乎不應該在 2*pi 處具有 0 值。 出現徑向圖使用徑向矢量的范圍,而不是從 0 到最大值。 似乎它應該默認為 c(0, range(lambda)[2])。 當我有時間時,我會更正這個答案。
pkg:pracma 中的ezpolar
函數提供了比plotrix::radial.plot
更典型的極坐標圖,但是它就像基本圖形函數curve
,因為它采用函數參數。
if(!require(pracma) ){
install.packages("pracma", dependencies=TRUE); library(pracma) }
?ezpolar
wrapped.exp <- function(theta, lambda){
lambda*exp(-lambda*theta)/(1-exp(-2*pi*lambda) )}
theta <- seq(0, 2*pi, len=100)
# since it requires a functional argument with only one variable,
# I'm defining a separate helper function with predefined lambda
png() ; wrap.2 <- function(x) wrapped.exp(x,.2)
ezpolar(wrap.2); dev.off()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.