Saya ingin membuat bingkai data saya lebih panjang, jadi saya bisa membuat plot darinya. Saya memiliki variabel dikotomis (jenis kelamin) yang ingin saya urutkan. Dan saya memiliki empat eksposur sebagai faktor.

  DF <- data.frame(sex = rbinom(1000, 1, .5),
                                expo_1 = rbinom(1000, 1:4, .15),
                                expo_2 = rbinom(1000, 1:4, .25),
                                expo_3 = rbinom(1000, 1:4, .3),
                                expo_4 = rbinom(1000, 1:4, .45))                                                   
  DF$sex <- as.factor(sex)
  DF$expo_1 <- as.factor(expo_1)
  DF$expo_2 <- as.factor(expo_2)
  DF$expo_3 <- as.factor(expo_3)
  DF$expo_4 <- as.factor(expo_4)

Ini sejauh yang saya dapatkan. Saya berjuang untuk mendapatkan hitungan untuk setiap tingkat pameran.

DF %>%
  pivot_longer(cols = -sex, names_to = "expo") %>%
  group_by(sex, expo) 

Dan saya ingin memiliki sesuatu seperti ini:

enter image description here

Bantuan sangat dihargai dan terima kasih sebelumnya!

2
Schillerlocke 23 Maret 2020, 15:47

1 menjawab

Jawaban Terbaik

Anda hampir sampai - gunakan aspek dan geom_bar untuk jumlah mentah value sebagai estetika pengisi. Posisi bertumpuk secara default.

Tip: gunakan mutate_all untuk konversi tipe yang lebih mudah

library(tidyverse)
DF <- data.frame(sex = rbinom(1000, 1, .5),
                 expo_1 = rbinom(1000, 1:4, .15),
                 expo_2 = rbinom(1000, 1:4, .25),
                 expo_3 = rbinom(1000, 1:4, .3),
                 expo_4 = rbinom(1000, 1:4, .45))   

DF <- DF %>% mutate_all(as.factor)

df_long <- DF %>%
  pivot_longer(cols = -sex, names_to = "expo")

ggplot(df_long) + geom_bar(aes(x = expo, fill = value)) +facet_grid(~sex)

Dibuat pada 23-03-2020 oleh paket reprex (v0.3.0)

2
tjebo 23 Maret 2020, 13:00