R (CVS dosyasından okuyun) bu veriler için bir bardiagram oluşturmak istiyorum:
Deneme_Adı MetrikA MetrikB Just_X 2 10 Just_X_and_Y 3 20
Aşağıdaki şemaya sahip olmak için:
Ben acemiyim ve nasıl başlayacağımı bile bilmiyorum.
R (CVS dosyasından okuyun) bu veriler için bir bardiagram oluşturmak istiyorum:
Deneme_Adı MetrikA MetrikB Just_X 2 10 Just_X_and_Y 3 20
Aşağıdaki şemaya sahip olmak için:
Ben acemiyim ve nasıl başlayacağımı bile bilmiyorum.
Yanıtlar:
Verilerinizi R ile read.table()
veya kısa el read.csv()
işlevleriyle içe aktarabileceğinizi varsayacağım . Ardından, istediğiniz herhangi bir özet işlevi, örneğin table
veya mean
aşağıdaki gibi uygulayabilirsiniz:
x <- replicate(4, rnorm(100))
apply(x, 2, mean)
veya
x <- replicate(2, sample(letters[1:2], 100, rep=T))
apply(x, 2, table)
Fikir, görüntülemek istediğiniz özet değerler için bir matris veya tablo ile sonuçlanmaktır.
Grafik çıktısı için, barplot()
işleve şu seçeneğe bakın beside=TRUE
, örn.
barplot(matrix(c(5,3,8,9),nr=2), beside=T,
col=c("aquamarine3","coral"),
names.arg=LETTERS[1:2])
legend("topleft", c("A","B"), pch=15,
col=c("aquamarine3","coral"),
bty="n")
Bağımsız space
değişken, yan yana yerleştirilmiş çubuklar arasına fazladan boşluk eklemek için kullanılabilir.
İşte ggplot sürümü:
library(ggplot2)
df = melt(data.frame(A=c(2, 10), B=c(3, 20),
experiment=c("X", "X & Y")),
variable_name="metric")
ggplot(df, aes(experiment, value, fill=metric)) +
geom_bar(position="dodge")
Teucer'ın cevabını reshape2'yi yansıtacak şekilde güncellemek istedim.
library(ggplot2)
library(reshape2)
df = melt(data.frame(A=c(2, 10), B=c(3, 20),
experiment=c("X", "X & Y")),
variable.name="metric")
ggplot(df, aes(experiment, value, fill=metric)) +
geom_bar(position="dodge",stat="identity")
Teucer'ın cevabının reshape2 ile "eval (expr, envir, enc): 'metric' bulunamadı" hatasını verdiğini unutmayın, reshape2 değişken_adı yerine değişken.adı kullandığını unutmayın.
Ayrıca geom_bar işlevine stat = "kimlik" eklemek gerekiyordu çünkü aksi takdirde "Hata: y değişkenine eşleme ve ayrıca stat =" bin "kullanarak.