1つのggplotの道をプロットするために使用データフレームにそれを構築することです:
library(ggplot2)
data <- data.frame(Var=c(rep("A",50),rep("B",50)), Value=round(rnorm(100,10,2),0))
obs.A<-8
obs.B<-10
data$color <- ifelse(data$Var == "A" & data$Value == obs.A, T, F)
data$color <- ifelse(data$Var == "B" & data$Value == obs.B, T, data$color)
ggplot(data)+
geom_histogram(aes(x=Value, fill = color))+
facet_grid(Var ~ .)
注data$Value
の範囲は5-16とデフォルトであるため、これはテストケースのために簡単に動作しますgeom_histogram()
はbins = 30
です。
data <- data.frame(Var=c(rep("A",50),rep("B",50)), Value=round(rnorm(100,10,10),0)) # bigger sd
obs.A<-8
obs.B<-10
data$cuts <- cut(data$Value, 30, labels = F)
A_colored_cuts <- unique(data$cuts[data$Value == obs.A])
data$color <- ifelse(data$Var == "A" & data$cuts == A_colored_cuts, T, F)
B_colored_cuts <- unique(data$cuts[data$Value == obs.B])
data$color <- ifelse(data$Var == "B" & data$cuts == B_colored_cuts, T, data$color)
ggplot(data)+
geom_histogram(aes(x=Value, fill = color))+
facet_grid(Var ~ .)
EDIT:大きなサンプルサイズのために、私たちが使用したいと思うあなたはそれをより譲渡作りたい場合は、geom_histogram(binwidth = 1)
を設定したり、ビンに基づいてdata$color
を設定し、このような何かしたいと思います前述の2番目のオプションを指定し、geom_histogram(boundary = .5)
と指定します。これは、整数のビン区切りが必要なためです。
set.seed(1)
data <- data.frame(Var=c(rep("A",50),rep("B",50)), Value=round(rnorm(10000,10,10),0))
#use code chunk 2 above
ggplot(data)+
geom_histogram(aes(x=Value, fill = color), boundary = .5)+
facet_grid(Var ~ .)
しかし、ビニングされた要素の数が多い場合は(rnorm(10000,10,10)を使用してみてください)、バーの一部またはおそらく複数のバーを着色します。これは改善できますか? – RndmSymbl
大きなテストケースに対応するように更新 – Nate
もう一度ありがとうございますが、観測のビンを取得し、ggplotでそのビンを識別して別の色を割り当てる直接の方法はありませんか? – RndmSymbl