【发布时间】:2016-06-01 08:56:08
【问题描述】:
我试图获得一个简单的图,显示两组的担忧持续时间超过 6 天。但是,我得到的是垂直线,而不是显示时间进程的线。
这是我的数据的样子:
> head(alldays_dur)
ParticipantID Session Day Time Worry_duration group
1 1 2 1 71804 15 intervention
2 1 4 1 56095 5 intervention
3 2 2 1 36739 15 intervention
4 2 4 1 45013 10 intervention
5 2 5 1 51026 5 intervention
这是我的数据结构
> str(alldays_dur)
'data.frame': 2620 obs. of 10 variables:
$ ParticipantID : num 113 113 113 113 113 113 113 113 113 113 ...
$ Session : num 9 10 11 12 14 15 16 21 22 24 ...
$ Day : Factor w/ 6 levels "1","2","3","4",..: 2 2 2 2 2 2 2 3 3
$ Time : num 37350 42862 47952 51555 61499 ...
$ Worry_duration: num 5 5 5 5 10 0 5 5 5 5 ...
$ group : Factor w/ 2 levels "Intervention group",..: 1 1 1 1 1 1
我已经尝试了以下代码:
p <- ggplot(alldays_dur, aes(x=Day, y=Worry_duration, group=1)) +
geom_line() +
labs(x = "Day",
y = "Mean worry duration in minutes per day")
print(p)
但是,我得到以下情节:plot
在阅读了有关此主题的一些早期帖子后,我已将 group=1 包含在代码中。然而,它并没有像我希望的那样帮助我。 您可能对我有一些有用的提示吗?先感谢您。
附言。如果帖子有任何不清楚之处,我很抱歉,这是我第一次在 stackoverflow 上发帖,所以我还不太熟悉所有的“帖子选项”。
【问题讨论】:
-
试试
group = group -
谢谢。我之前尝试过,我看到了一些变化,但它并没有摆脱垂直线
-
那么如果您发布一些数据(使用
dput()),我们可以更轻松地帮助您解决问题。 -
这些线只是因为您每天都在连接所有点。如果您将
geom_line替换为geom_point,您可能会获得更多信息。 -
对于每个独特的组合
Day和Group,您有不同的Session。例如,对于group = "intervention"和Day = "1",您的Worry_duration为 5 和 15。使用geom_line将链接所有这些点,如您所见绘制垂直线。如果您只希望每个Day得到一个点,请汇总您的数据。