2

2 つのベクトル (たとえば、2 つの国の富の分布を表す) が与えられた場合、バープロットを使用して、人口のさまざまなパーセンタイルでの富の割合を表す必要があります。 ここに画像の説明を入力

2サンプル配布からスタート

e1 <- sort(rexp(100,rate=1))
e2 <- sort(rexp(200,rate=.5))

これが私がしたことです

i=c(rep("0 to 50",50),rep("51 to 90",40),rep("91 to 99",9),"top 1%")
i2=rep(i,each=2)
d1 <- data.frame(rep("Italy",100),e1/sum(e1),i)
d2 <- data.frame(rep("France",200),e2/sum(e2),i2)
colnames(d1)=c("geo","wealth","class")
colnames(d2)=c("geo","wealth","class")
dd <- rbind(d1,d2)
ggplot(dd,aes(x=geo,fill=class,weight=wealth))+geom_bar(width=.5)+scale_fill_brewer(palette="Blues")

同じ結果に到達するためのより簡単で直接的な方法があるのだろうか

4

1 に答える 1

1

quantileたぶん、df1 と df2 を準備する関数を見てみることができます。

q1 <- quantile(e1, c(.5, .90, .99, 1))
df1 <- data.frame(geo = "Italy", class=names(q1), wealth=q1)

q2 <- quantile(e2, c(.5, .90, .99, 1))
df2 <- data.frame(geo = "France", class=names(q2), wealth=q2)

私はR賢い人がより良い答えを提供できるようになったのは初めてです。

于 2015-04-23T12:04:53.150 に答える