Ho combattuto per ordinare e tracciare un semplice dataframe come grafico a barre in ggplot2.Tracciare i dati in ordine decrescente come visualizzato nel frame dati
Voglio tracciare i dati così come appaiono, in modo che i valori (variabile 'conto') per le categorie corrispondenti (ad esempio 'umani', 'maschi') siano tracciati da alto a basso. Ho seguito altri thread su questo sito facendo domande simili, ma non riesco a farlo funzionare!
## Dataset (mesh2)
#Category Count
#Humans 62
#Male 40
#Female 38
#Adult 37
#Middle Aged 30
#Liver/anatomy & histology 29
#Organ Size 29
#Adolescent 28
#Child 21
#Liver/radiography* 20
#Liver Transplantation* 20
#Tomography, X-Ray Computed 20
#Body Weight 18
#Child, Preschool 18
#Living Donors* 18
#Infant 16
#Aged 14
#Body Surface Area 14
#Regression Analysis 11
#Hepatectomy 10
## read in data (mesh2) as object (mesh2)
mesh2 <- read.csv("mesh2.csv", header = T)
## order data by count of mesh variable
mesh2$cat2 <- order(mesh2$Category, mesh2$Count, decreasing=TRUE)
## Barplot created in ggplot2
library(ggplot2)
mesh2p <- ggplot(mesh2, aes(x=cat2, y=Count)) + geom_bar (stat="identity") + scale_x_continuous(breaks=c(1:20), labels=c("Humans", "Male", "Female", "Adult", "MAged", "Liver anat & hist", "Organ Size", "Adolescent", "Child", "Liver radiog", "Liver Transplnt", "Tomog X-Ray Computed", "Body Weight", "Child Preschool", "Living Donors", "Infant", "Aged", "BSA", "Regression Analysis", "Hepatectomy"))+ theme (axis.text.x=element_text(angle=45, hjust=1))
Apparentemente non posso pubblicare l'output perché non ho abbastanza "reputazione"?
Rendi il tuo 'Category' un fattore ordinato. Vedi "fattore" per imparare come farlo. – Roland
@Roland No, questo * non * come fare questo in generale. Qual è l'ordinamento implicito nell'insieme 'c (" human "," male "," female "," cat ")'? Un fattore ordinato è per i dati in cui i livelli * stessi * trasmettono alcune informazioni quantitative, ad esempio il set 'c (" wet "," moist "," dry ")'. Perché il tuo errore su questo è memorizzare questi dati come un fattore ordinato farà la cosa sbagliata se utilizzato in un modello in R (vincoli polinomiali) per i dati non ordinati. Ciò che si desidera è la funzione 'reorder()'. –
s/your/you're/fingers ... –