我想繪製用於2個因子水平的可變顏色編碼的頻率,例如藍色條應該是A級的直方圖,而綠色的直方圖B級都是同一個圖嗎?這是可能的與hist命令? hist的幫助不允許有一個因素。有沒有其他方法?在R中的同一圖中繪製2個因子的值的頻率圖
我設法barplots手動做到這一點,但我要問,如果有一個更自動化的方法
非常感謝 EC
PS。我不需要密度圖
我想繪製用於2個因子水平的可變顏色編碼的頻率,例如藍色條應該是A級的直方圖,而綠色的直方圖B級都是同一個圖嗎?這是可能的與hist命令? hist的幫助不允許有一個因素。有沒有其他方法?在R中的同一圖中繪製2個因子的值的頻率圖
我設法barplots手動做到這一點,但我要問,如果有一個更自動化的方法
非常感謝 EC
PS。我不需要密度圖
萬一別人還沒有回答,這是一種方式,滿足。最近我不得不處理堆疊直方圖,以下是我所做的:
data_sub <- subset(data, data$V1 == "Yes") #only samples that have V1 as "yes" in my dataset #are added to the subset
hist(data$HL)
hist(data_sub$HL, col="red", add=T)
希望這是您的意思?
我不認爲你可以用條柱直方圖很容易地做到這一點,因爲你必須從兩個因子水平「交錯」條塊......它需要某種「離散化」的現在連續的X軸(即它將不得不被分成「類別」和在每個類別中你將有2個條,對於每個因子水平...
但它是相當容易,沒有問題,如果你是就好密謀密度線功能:
y <- rnorm(1000, 0, 1)
x <- rnorm(1000, 0.5, 2)
dx <- density(x)
dy <- density(y)
plot(dx, xlim = range(dx$x, dy$x), ylim = range(dx$y, dy$y),
type = "l", col = "red")
lines(dy, col = "blue")
這很可能。
我沒有數據可以使用,但這裏有一個帶有不同顏色條的直方圖的例子。從這裏你需要使用我的代碼,並找出如何使它工作的因素而不是尾巴。
BASIC SETUP 直方圖< - HIST(刻度(載體)),斷裂=,情節= FALSE) 圖(直方圖,COL = ifelse(ABS(直方圖$符)<循環移位#of SD,顏色1,顏色2 ))
#EXAMPLE
x<-rnorm(1000)
histogram <- hist(scale(x), breaks=20 , plot=FALSE)
plot(histogram, col=ifelse(abs(histogram$breaks) < 2, "red", "green"))
這是相當不清楚你作爲一個數據佈局。直方圖要求您有一個序數或連續的變量,以便可以創建中斷。如果你還有一個單獨的分組因子,你可以繪製直方圖的條件。第二個例子是格子包中的histogram
函數的幫助頁面中提供了這樣一個分組並覆蓋密度曲線的一個很好的例子。
用於學習格和ggplot2繪圖相對優點的好資源是Learning R博客。兩個繪圖系統This is from the first of a multipart series on side-by=side comparison:
library(lattice)
library(ggplot2)
data(Chem97, package = "mlmRev")
#The lattice method:
pl <- histogram(~gcsescore | factor(score), data = Chem97)
print(pl)
# The ggplot method:
pg <- ggplot(Chem97, aes(gcsescore)) + geom_histogram(binwidth = 0.5) +
facet_wrap(~score)
print(pg)
我同意其他人的密度積比合並直方圖的彩條更有效,特別是如果團隊的價值是混合的。這將是非常困難的,不會告訴你很多。你得從其他一些很好的建議對密度圖,這是我的2美分,我有時會使用密度圖:
y <- rnorm(1000, 0, 1)
x <- rnorm(1000, 0.5, 2)
DF <- data.frame("Group"=c(rep(c("y","x"), each=1000)), "Value"=c(y,x))
library(sm)
with(DF, sm.density.compare(Value, Group, xlab="Grouping"))
title(main="Comparative Density Graph")
legend(-9, .4, levels(DF$Group), fill=c("red", "darkgreen"))
謝謝。而已。是否有可能在彼此旁邊繪製酒吧? – ECII
在同一張圖上,你的意思是?我確信有,但我不知道如何(對我自己來說是新的)。 – Atticus29
是的,在同一張圖上,並排 – ECII