Saya ingin membuat bardiagram untuk data ini dalam R (baca dari file CVS):
Metric Experiment_NameA MetricB Just_X 2 10 Just_X_and_Y 3 20
untuk memiliki diagram berikut:
Saya pemula dan saya tidak tahu bagaimana memulainya.
Saya ingin membuat bardiagram untuk data ini dalam R (baca dari file CVS):
Metric Experiment_NameA MetricB Just_X 2 10 Just_X_and_Y 3 20
untuk memiliki diagram berikut:
Saya pemula dan saya tidak tahu bagaimana memulainya.
Jawaban:
Saya akan berasumsi bahwa Anda dapat mengimpor data Anda dalam R dengan read.table()
atau read.csv()
fungsi tangan pendek . Kemudian Anda dapat menerapkan fungsi ringkasan apa pun yang Anda inginkan, misalnya table
atau mean
, seperti di bawah ini:
x <- replicate(4, rnorm(100))
apply(x, 2, mean)
atau
x <- replicate(2, sample(letters[1:2], 100, rep=T))
apply(x, 2, table)
Idenya adalah untuk berakhir dengan matriks atau tabel untuk nilai ringkasan yang ingin Anda tampilkan.
Untuk output grafis, lihat barplot()
fungsi dengan opsi beside=TRUE
, misalnya
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")
The space
argumen dapat digunakan untuk menambah ruang ekstra antara bar disandingkan.
Di sini versi ggplot:
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")
Saya ingin memperbarui jawaban teucer untuk mencerminkan pembentukan kembali2.
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")
Perhatikan bahwa jawaban teucer menghasilkan kesalahan "Kesalahan dalam eval (expr, envir, enclos): objek 'metrik' tidak ditemukan" dengan membentuk ulang2 karena membentuk ulang2 menggunakan variable.name alih-alih variable_name.
Saya juga menemukan bahwa saya perlu menambahkan stat = "identitas" ke fungsi geom_bar karena selain itu ia memberi "Kesalahan: Memetakan variabel ke y dan juga menggunakan stat =" bin "."