W R Mam data.frame podobne do tego na górze obrazu.Utwórz barplot z data.frame
Czy jest możliwość utworzenia siatki podobnej do tej na dole obrazu?
W R Mam data.frame podobne do tego na górze obrazu.Utwórz barplot z data.frame
Czy jest możliwość utworzenia siatki podobnej do tej na dole obrazu?
wykorzystaniem grafiki bazowe można to zrobić po prostu:
mydf <- data.frame(X1=c(A=2, B=4, C=1), X2=c(3,2,NA), X3=c(4,1,NA))
barplot(t(as.matrix(mydf)), beside=TRUE)
pomocą dodatkowych połączeń do axis
może dać etykietowania bardziej jak w pytaniu.
to powinna być zaakceptowana odpowiedź - po co używać dwóch bibliotek do wykonania tak prostego zadania? –
, ponieważ konwersja do macierzy, a następnie tabeli może dodać wiele kosztów, jeśli masz duży plik df? – wordsforthewise
@wstecz, jeśli df jest tak duży, że ten narzut jest nawet zauważalny (nie mówiąc już o problemie), to prawdopodobnie nie jest to najlepsza wizualizacja. –
Zakładając, że nie chcesz wyjście ASCII, tutaj jest rozwiązanie wykorzystujące ggplot2
:
# load/generate your data
mydf <- data.frame(X1 = c(2,4,1), X2 = c(3,2,NA), x3 = c(4,1,NA), row.names=c("A","B","C"))
mydf$Category <- row.names(mydf)
# bring your data to long format as needed by ggplot
library(reshape2)
mydf.molten <- melt(mydf, value.name="Count", variable.name="Variable", na.rm=TRUE)
# plot and facet by categories
library(ggplot2)
qplot(data=mydf.molten, x = Variable, y = Count, geom="bar", stat = "identity") + facet_wrap("Category")
celu uzyskania dalszych informacji, polecam zasięgnąć opinii ggplot2 manual, zwłaszcza rozdział o numerach geom_bar
i facet_wrap
.
Pracowałem dla mnie! Dziękuję Ci! – ElPatzo
Wystąpił ten błąd z kodem: '> mydf.molten <- stop (mydf, value.name =" Count ", variable.name =" Variable ", na.rm = TRUE) Używanie kategorii jako zmiennych identyfikacyjnych > qplot (data = mydf.molten, x = zmienna, y = liczba, geom = "bar", stat = "tożsamość") + facet_wrap ("Kategoria") Błąd: stat_count() nie może być używany z estetyką. Ponadto: Komunikat ostrzegawczy: 'stat' jest przestarzałe' –
@Mona Jalal; 'ggplot2' zmienił się od 2013 roku, szczególnie po aktualizacji z wersji ver. 1.xxx do 2.xxx. – cuttlefish44
Jeśli masz na myśli wyjście ascii wypróbuj pakiet 'txtplot'. –
Przepraszam, to był tylko przykład;) chcę mieć fabułę podobną do tej, którą otrzymuję z funkcją barplota. – ElPatzo
Prawdopodobnie chcesz zmienić tytuł twojego pytania? W rzeczywistości chcesz utworzyć pręt z danych.frame, a nie odwrotnie. – Beasterfield