yaş oranlarında yığılmış barplot

Sep 27 2020
region   age   total     p
<fct>    <fct> <int> <dbl>
SSC20005 < 40     16 0.485
SSC20005 >=40     17 0.515
SSC20012 < 40    247 0.581
SSC20012 >=40    178 0.419
SSC20018 < 40     50 0.5  
SSC20018 >=40     50 0.5  

Çubuk yüksekliği = 1 olacak şekilde "p" sütunu ile doldurulan her bölge için yığılmış bir barplot oluşturmak istiyorum.

Kullanmayı denedim

ggplot(data = cbind(id = 1,age_prop), aes(x = id, fill = p)) +
  geom_bar(position = "fill", stat = "identity") +
  labs(x = "Age Bracket", y = "Proportion")

Ancak, hata mesajı almaya devam ediyorum

Hata: Bağımsız değişken 2, 1000 değil uzunluk 1 olmalıdır (1000 yerel veri kümemle ilgilidir, buradaki hata, uzunluk 6 olur)

Herhangi bir yardım memnuniyetle karşılanacaktır.

Yanıtlar

1 RonakShah Sep 27 2020 at 11:01

Eğer istiyorsunuz filltarafından pveya age? Deneyin :

library(ggplot2)
ggplot(data = df, aes(x = region, y = p, fill = age)) + 
  geom_bar(position = "fill", stat = "identity") + 
  labs(x = "Age Bracket", y = "Proportion")

veri

df <- structure(list(region = c("SSC20005", "SSC20005", "SSC20012", 
"SSC20012", "SSC20018", "SSC20018"), age = c("<40", ">=40", "<40", 
">=40", "<40", ">=40"), total = c(16L, 17L, 247L, 178L, 50L, 
50L), p = c(0.485, 0.515, 0.581, 0.419, 0.5, 0.5)), 
class = "data.frame", row.names = c(NA, -6L))