如果我理解您所得到的结果,如果您拥有或可以创建与不同组中的相应测量结果相同的索引,则可以执行此操作。例如:
# Fake data
set.seed(3)
dat = data.frame(group=rep(LETTERS[1:3],each=20),
value=c(rnorm(20,10,2), 5*rnorm(20,10,2), 10*rnorm(20,10,2)),
index=rep(1:20,3))
# Create different missing values of dat$count for each level of dat$group
# (this corresponds, for example, to a case where you haven't necessarily measured
# all groups on each measurement occasion)
dat[c(3:5,10,15,22,37:39,44:46,50,55:58), "value"] = NA
dat
# Plot by group
ggplot(dat, aes(x=index, y=value, colour=group)) +
geom_line() +
geom_point()
在另一方面,如果你不关心群体之间的对应关系,但只是想绘制在同一张图三个不同群体的意见(任意长度的)(我来了空在现实世界使用案例这一点),那么你可以为每个组创建单独的指标如下:
library(dplyr)
# Fake data
set.seed(3)
dat = data.frame(group=c(rep("A",5),rep("B",10),rep("C",15)),
value=c(rnorm(5,10,2), 5*rnorm(10,10,2), 10*rnorm(15,10,2)))
# Add index
dat = dat %>%
group_by(group) %>%
mutate(index=1:n())
ggplot(dat, aes(x=index, y=value, colour=group)) +
geom_line() +
geom_point()
真实世界的用例是在特定类型的事件之后检查时间序列的行为。在我的情况下,看雨后的土壤干燥(这些群体已被定义,使用cumsum(rain)作为群组ID)。 – naught101 2014-09-29 03:49:41
但是,那么你会希望索引(在这种情况下的时间)跨组对应。我在第二个例子中的含义是,您将索引分配,而不考虑它是否具有任何意义或跨不同群组的任何对应关系。 – eipi10 2014-09-29 03:57:11