построить данные в соответствии с их группой в R - PullRequest
0 голосов
/ 25 июня 2018

Я пытаюсь построить из большого неформатированного набора данных, который потребовал бы много кода, чтобы привести в порядок. Я заинтересован в трех колонках; Я хочу отобразить данные в столбце «среднее» относительно данных в столбце «Время истекло» в соответствии с именем, указанным в столбце «Бутылка».

В течение нескольких недель были отобраны четыре бутылки с данными, записанными в день.

На это, возможно, уже отвечали раньше, и это может быть очень просто; но мне трудно сформулировать мой запрос в словах, и в наши дни интернет насыщен.

Код, который я пробовал:

plot(my_data$Average, my_data$Time.Elapsed..hours., my_data$Bottle == "C 1")

Это было предназначено для построения графика зависимости среднего значения от времени, прошедшего для всех образцов, взятых из бутылки с маркировкой C1. На данный момент я пропустил имена осей, названия и типы маркеров, поскольку у меня было ощущение, что это не сработает.

Любая помощь будет принята с благодарностью, и если бы вы могли посоветовать мне, как лучше сформулировать этот запрос в слова для будущих поисков, я был бы чрезвычайно признателен.

Спасибо

Ответы [ 2 ]

0 голосов
/ 25 июня 2018

Вы можете использовать ggplot2. Я приведу пример с использованием набора данных mtcars.

library(ggplot2)

data(mtcars)

ggplot(data = mtcars, aes(x = mpg, y = disp)) +
  geom_point() +
  facet_wrap(~cyl)

создаст эту граненую диаграмму рассеяния:

enter image description here

Для вашего примера код будет

ggplot(data = my_data, aes(x = Average, y = Time.Elapsed..hours.)) +
  geom_point() +
  facet_wrap(~ Bottle)
0 голосов
/ 25 июня 2018

Вы должны отфильтровать ваш фрейм данных, это не реализовано самой функцией plot.

здесь пример со случайными данными:

df <- data.frame( c(1,2,3,4,5,6), c(1,2,3,4,5,6), c(1,1,1,2,2,2))
colnames(df) <- c("X", "Y", "Z")


plot(df[(df$Z==1),]$X,df[(df$Z==1),]$Y)

для вашего примера это должно выглядеть так:

plot(my_data[my_data$Bottle == "C 1"]$Average, my_data[my_data$Bottle == "C 1"]$Time.Elapsed..hours.)
...