我对R很陌生,而且我一直试图弄清楚如何做到这一点。
我需要做的是采用非常简单的长格式数据并生成几个图形。这是我所拥有的一个例子 - 也请原谅我,但我不知道如何格式化,所以我会告诉你它在基本原始数据中是如何出现的。
pm.data= data.frame()
Score, Behavior, Period, Date
1, 2, 1, 9/01/2001
3, 2, 3, 9/01/2001
2, 3, 4, 9/05/2004
4, 1, 6, 9/05/2004..............and so on
好的,所以第一个数字是行为得分(1-5),第二个数字表示观察到的目标行为(标识为1,2或3),周期表示观察行为的时间段(第1,第3,第4或第6),日期是m / d / y。对于每个日期,有12个分数(4个阶段,3个得分行为...... 4x3)
所以使用
totals = aggregate(cbind(Score) ~ Date, data = pm.data, FUN = sum)
我能够获得按日期分数的总和。然后我使用ggplot显示每天的总行为评级(Date2是我必须在aggregate()重新排列我的日期后开始的对象,以最近的日期而不是最新的日期开始)
newtotals = totals[order(as.Date(totals$Date, format = "%m/%d/%Y")),]
newtotals$Date2 = factor(newtotals$Date, as.character(newtotals$Date))
setattr(newtotals, "row.names", c("1":"14"))
ggplot(data = newtotals, aes(x = Date2, y = Score)) +
geom_point() +
geom_hline(yintercept = 48, color = "#990000", linetype = "dashed") +
geom_smooth(method = "lm", se = FALSE, aes(group = 1)) +
geom_vline(xintercept = as.numeric(newtotals$Date2[4]), linetype = "dashed") +
xlab("Dates by Observation Days") +
ylab("Total Behavior Rating") +
theme_bw()
现在我需要为每个时间段按日期绘制得分总和(所以图表显示每个时期的观察日期内的总行为得分)。我需要在每个图表上将行为绘制为单独的行,这样我就可以显示观察到的行为以及在哪个时期内的行为。因此,我最终应得到4个图表(每个句点一个),X上的日期,Y上的行为总和,颜色=行为,以及这些hlines和vlines。
我知道这可能有点令人困惑,所以如果你不明白我理解的意思。