在 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,类型变量同时采用 type1
和 type2
作为值,这与数据框的内容相矛盾
对于这两项工作,您必须使用 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)
结果如下:
我有以下示例数据:
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,类型变量同时采用 type1
和 type2
作为值,这与数据框的内容相矛盾
对于这两项工作,您必须使用 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)
结果如下: