我想繪製foo ~ bar
。但是,我不想查看確切的數據,我寧願將bar
分解爲分位數,並且對於每個分位數計算mean(foo)
(因此我的最終分佈圖將有5個數據點)。這可能嗎?按分位數繪製在R
Q
按分位數繪製在R
1
A
回答
6
foo <- rnorm(100)
bar <- rnorm(100)
mn.foo.byQ10bar <- tapply(foo, cut(bar, quantile(bar, (0:5)/5, na.rm=TRUE)), mean)
> mn.foo.byQ5bar
(-3.31,-0.972] (-0.972,-0.343] (-0.343,0.317] (0.317,0.792] (0.792,2.71]
0.13977839 0.03281258 -0.18243804 -0.14242885 -0.01696712
plot(mn.foo.byQ5bar)
這是一個相當標準的任務和哈勒爾的Hmisc包的cut2
功能有一個很好的GR =這個參數可以讓你通過爲組數指定一個整數來做到這一點。我也喜歡它,因爲剪切操作的間隔是左閉合的,而不是右閉合的R默認值。
+1
丁,你能簡單地告訴(如果你知道)這種情節的想法是什麼?根據每個分位數範圍內的數據平均值繪製分位數。我無法想象它背後的想法...... – Arun
+4
有些人似乎喜歡幽靈般的情節,而不是散佈情節。 (我不屬於這個類別,如果觀察次數超過幾百次,則連續比較將使用hexbin圖或2d密度圖進行連續)。此barplot方法可能支持可視化4自由度卡方GOF測試(再次不是我會建議的),其中自變量按五分組分組,並且相應的foo-means是杆高。 –
5
您可以結合很多這些線成更簡潔的代碼,但在這裏它被分解
# Sample Data:
x <- 1:100; y <- rnorm(x)
# Number Of Groups
N <- 5
# quantiles
Q.y <- quantile(y, probs=seq(0, 1, length=(N+1)))
Q.x <- quantile(x, probs=seq(0, 1, length=N))
# means of y by quantile
means.y <- c(by(y, cut(y, Q.y), mean))
# plot them
qplot(Q.x, means.y)
相關問題
- 1. 按百分位數繪製直方圖
- 2. R:繪製分箱數據
- 3. R繪製積分
- 4. 如何繪製R中泊松分佈的百分位數?
- 5. 如何在R中繪製Z分數
- 6. 用ggplot2繪製分位數
- 7. Boxplot和五個統計數據 - 繪製分位數 - R
- 8. (R)繪製位數迴歸係數分佈與quantreg包
- 9. 繪製R中點的中位數ggplot
- 10. R:用ggplot2繪製帶分位數的時間序列
- 11. 要通過boxplot繪製生命表四分位數R
- 12. 在R中繪製函數
- 13. 在R中繪製數據
- 14. [R繪製頻率分佈
- 15. R使用ggbiplot繪製PCA分數
- 16. R:分段函數和繪製
- 17. 繪製數據R
- 18. 如何在R中繪製度分佈
- 19. 繪製按75%分位數(Q3)排序的多個箱型圖
- 20. 繪製在ggplot [R
- 21. 繪製分位數迴歸線
- 22. 使用geom_boxplot繪製分位數
- 23. 按順序繪製分散數據(matlab)
- 24. r分數標繪圖
- 25. 繪製min,max函數R
- 26. 繪製反函數與R
- 27. 在Android中繪製位圖部分?
- 28. 按r中的組繪製散點圖
- 29. 繪製R函數限制函數
- 30. 在R中繪製模型的火車和評估分數
你看過'?quantile'嗎? –
你好!請通過看看[**如何使一個偉大的可重複的例子**],使您的文章可重現(http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-例如)爲我們提供幫助。謝謝。 – Arun