2015-01-05 4 views
2

rCharts 패키지를 사용하여 정규 분포와 같은 통계 분포를 그립니다. curve 또는 ggplot2를 사용하여 플롯 할 수있었습니다.R : rCharts를 사용하여 통계 함수를 그리는 방법

곡선

curve(dnorm, xlim=c(-10,10)) 

enter image description here

ggplot2

ggplot(data.frame(x=c(-10,10)), aes(x)) + stat_function(fun=dnorm, args=list(0, 1)) 

enter image description here

내가 팔레스타인 해방기구 (PLO)에 원 t 통계 함수를 사용하여 rCharts,하지만 수 없습니다. 어떻게 플롯합니까?

답변

3

명시 적으로는 rChart으로 할 수는 없지만 모든 통계 배포 및 일반적으로 원하는 모든 기능을 수행하기는 매우 쉽습니다. d/r/p/q-distribution과 같은 통계 분포에 대해 똑같은 기술을 ?rnorm, ?rbinom 등과 같이 정확하게 사용할 수 있습니다. 그러나 원하는 모든 함수로 일반화 할 수도 있습니다. 나는 또한 일반적인 함수를위한 예제를 포함한다. dnormrnorm를 사용하여 정규 분포를 들어

는 :

x <- rnorm(1000) #you need rnorm here to create 1000 standard normally distributed observations. 
y <- eval(dnorm(x)) #evaluate the function using dnorm now to get probabilities. 
#the use of eval() will be clear in the next example. Here you can even omit it if it confuses you. 
df <- data.frame(x,y) #make df 

#plot 
rPlot(y ~ x, data=df, type='line') 

enter image description here 마찬가지로, 이항 분포에 대한 당신은 dbinomrbinom를 사용하여 정확히 동일한 기능을 수행 할 것입니다. 다른 배포본과 동일합니다.

rnorm 함수 대신 @ Gregor의 설명에 따라 x = seq(-6, 6, length = 1000)과 같은 것을 사용하여 사용자 정의 x 변수를 만든 다음 dnorm을 사용하여 해당 확률을 산출 할 수도 있습니다. 이 방법의 장점은 x 축의 한계를 직접 설정할 수 있다는 것입니다. 예컨대 데모와의 예로 들어 기능 log(1+x)을 사용하자 어떤 기능을

을 플롯하는 방법에 대한 일반화로

enter image description here

:

a <- seq(-6,6,length=1000) #use -10,10 to reproduce your example 
b <- dnorm(a) 
df <- data.frame(a,b) 
rPlot(b~a,data=df,type='line') 
. 당신은 같은 방법으로 원하는 기능을 사용할 수 있습니다

x <- runif(1000,1,10) #1000 points are enough 
y <- eval(log(1+x)) #easily evaluate the function for your x vector 
#the previous was a very special case where you had 2 functions rnorm and dnorm 
#instead of an x vector and an f(x) function like here 
#this is very easy to generalize 
df <- data.frame(x,y) #make df 

#plot 
rPlot(y ~ x, data=df, type='line') 

enter image description here

: 여기 당신은 어떤 기능을 음모하는 것이 얼마나 쉬운 지 볼 것이다!

+0

적절한 시퀀스를 수행하는 대신 'x'값을 샘플링해야하는 이유 (예 : 'x = seq (-6, 6, length = 1000)'에 대해? – Gregor

+0

@Gregor 그의 질문에서 그의 예에서 OP가 표준 정규 분포를 사용하기 때문에 동일한 것을 사용하고 싶었고 가장 쉬운 방법은'rnorm' 함수이고, 그는'dnorm '.당신의 예는 실질적으로 동일하지만 다르게 말했습니다. 그것은 OP가 그것을 원한다면 확실히 발생할 수 있습니다. 그것은 한도와 그래프를 추가하기 때문에 한계를 변경합니다. – LyzandeR

+0

@Gregor Thanks btw. 그것은 위대한 작품! – LyzandeR