根据他们在R中的组绘制数据

时间:2018-06-25 11:22:26

标签: r plot dataset

我正在尝试从一个大型的,未格式化的数据集中进行绘图,这将需要大量的代码来整理。我对三栏感兴趣;我想根据“瓶”列中的名称,将“平均值”列中的数据与“经过时间”列中的数据相对应。

从数周的时间里取样了四瓶,当天记录了数据。

这可能以前已经回答过,可能很简单;但是我发现很难用词来表达我的查询,如今互联网已经饱和。

我尝试过的代码是:

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

这是为了绘制从标有C1的瓶子中取出的所有样品的平均值与经过的时间的关系图。我暂时不使用轴名称,标题和标记类型,因为我感觉这行不通。

任何帮助将不胜感激,如果您能建议我如何最好地将该查询表述成单词以供将来搜索,我将万分感谢。

谢谢

2 个答案:

答案 0 :(得分:0)

您必须过滤数据框,这不是由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.)

答案 1 :(得分:0)

您可以使用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)