2017-02-28 207 views
1

我想您的幫助,謝謝。2 Y軸直方圖(正常頻率VS相對頻率)

我這2個地塊,分別。一個是正​​常頻率,另一個具有完全相同的數據,是相對頻率。

你能告訴我怎樣才能加入他們與2個y軸的一個圖(頻率和相對頻率?)

x<- AAA$starch 
h<-hist(x, breaks=40, col="lightblue", xlab="Starch ~ Corn", 
    main="Histogram with Normal Curve", xlim=c(58,70),ylim = c(0,2500),axes=TRUE) 
xfit<-seq(min(x),max(x),length=40) 
yfit<-dnorm(xfit,mean=mean(x),sd=sd(x)) 
yfit <- yfit*diff(h$mids[1:2])*length(x) 
lines(xfit, yfit, col="blue", lwd=3) 

frequency plot

library(HistogramTools) 
x<- AAA$starch 
c <- hist(x,breaks=10, ylab="Relative Frequency", main="Histogram with Normal Curve",ylim=c(0,2500), xlim=c(58,70), axes=TRUE) 
PlotRelativeFrequency((c)) 

relative frequency

謝謝!

編輯:

這只是我想要的一個示例圖像...

2yaxisplot

+0

這是相對的頻率只是相同的數據,除以總數_n_?你確定你需要一個單獨的陰謀嗎?也許只需添加第二個y軸? – juod

+0

@joud。 是的,我想要一個單一的情節與兩個信息在不同的Y軸。 –

回答

0

我用doubleYScale從包latticeExtra。

下面是一個例子(我不知道相對頻率計算):

library(latticeExtra) 

set.seed(42) 
firstSet <- rnorm(500,4) 

breaks = 0:10 

#Cut data into sections 
firstSet.cut = cut(firstSet, breaks, right=FALSE) 
firstSet.freq = table(firstSet.cut) 

#Calculate relative frequency 
firstSet.relfreq = firstSet.freq/length(firstSet) 

#Parse to a list to use xyplot later and assigning x values 
firstSet.list <- list(x = 1:10, y = as.vector(firstSet.relfreq)) 

#Build histogram and relative frequency curve 
hist1 <- histogram(firstSet, breaks = 10, freq = TRUE, col='skyblue', xlab="Starch ~ Corn", ylab="Frequency", main="Histogram with Normal Curve", ylim=c(0,40), xlim=c(0,10), plot=FALSE) 
relFreqCurve <- xyplot(y ~ x, firstSet.list, type="l", ylab = "Relative frequency", ylim=c(0,1)) 

#Build double objects plot 
doubleYScale(hist1, relFreqCurve, add.ylab2 = TRUE) 

這裏是兩個與Y軸不同尺度的結果:

Frequency histogram and relative frequency curve

+0

但我不想要兩個壁爐。只是想添加關於相對頻率的信息。如果我使用相同數量的休息,情節將完全相同,所以我想在左側看到頻率,在右側看到相對頻率。那可能嗎? –

+0

我想我不明白你的問題。好吧,所以第一個情節是一個直方圖。第二個也是直方圖的權利? 現在你有三種可能性:1,混合水庫是混合的(上面的解決方案)2,爲相對頻率增加一個x值的偏移量,這樣第二個直方圖就在右邊3,你做兩個地塊 – chateaur

+0

解釋我在做什麼的圖像...謝謝。 –