在 R 中使用 ggplot2 绘制变量随时间的变化

plot variation of variable with time using ggplot2 in R

我有以下示例数据:

my.list <- vector('list',1000)
for(i in 1:1000)
{
    temp <- sample(c("type1","type2"),1)
    my.list[[i]] <- data.frame(time=i,type=temp)
}
df <- do.call('rbind',my.list)

我想绘制类型变量随时间的变化。我使用了以下内容:

ggplot(df,aes(x=time,y=type)) + geom_line()

使用这个命令,我没有得到预期的结果:

请注意图中没有显示从类型 1 到类型 2 的转换,反之亦然。我错过了什么吗?

另外,在这个图中,似乎在时间 x,类型变量同时采用 type1type2 作为值,这与数据框的内容相矛盾

对于这两项工作,您必须使用 group 参数。

ggplot(df,aes(x=time,y=type, group=1)) + geom_line()

但是请注意,由于使用 1000 个观测值时线条非常密集,因此结果将很难解释。如果您只使用 100 个观察值,那么

set.seed(1)
my.list <- vector('list',100)
for(i in 1:100)
{
  temp <- sample(c("type1","type2"),1)
  my.list[[i]] <- data.frame(time=i,type=temp)
}
df <- do.call('rbind',my.list)

结果如下: