Я хочу створити бардіаграму для цих даних у R (читати з файлу CVS):
Експеримент_Name MetricA MetricB Just_X 2 10 Just_X_and_Y 3 20
мати таку схему:
Я початківець і навіть не знаю, як почати.
Я хочу створити бардіаграму для цих даних у R (читати з файлу CVS):
Експеримент_Name MetricA MetricB Just_X 2 10 Just_X_and_Y 3 20
мати таку схему:
Я початківець і навіть не знаю, як почати.
Відповіді:
Я вважаю, що ви можете імпортувати свої дані в R за допомогою read.table()
або коротких read.csv()
функцій. Потім ви можете застосувати будь-які підсумкові функції, наприклад, table
або mean
, як нижче:
x <- replicate(4, rnorm(100))
apply(x, 2, mean)
або
x <- replicate(2, sample(letters[1:2], 100, rep=T))
apply(x, 2, table)
Ідея полягає у формуванні матриці або таблиці для підсумкових значень, які ви хочете відобразити.
Для графічного виводу подивіться barplot()
функцію з опцією beside=TRUE
, наприклад
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")
space
Аргумент може бути використаний , щоб додати додатковий простір між зіставляється гратами.
Ось версія 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")
Я хотів оновити відповідь teucer, щоб відобразити перегляд2.
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 створює помилку "Помилка eval (expr, envir, enclos): об'єкт 'metric' не знайдено" з reshape2, оскільки reshape2 використовує змінний.name замість змінної_імен.
Я також виявив, що мені потрібно додати stat = "ідентичність" до функції geom_bar, оскільки в іншому випадку це дало "Помилка: Зміна змінної до y, а також використання stat =" bin "."