【发布时间】:2018-06-06 15:27:37
【问题描述】:
我对 qic 图 - 控制图有疑问。 我的 x.axis 没有绘制我想要的所有日期。我将日期四舍五入为每 14 天一次,周期为 59 周。我想要所有这些都被绘制出来,但是我对此有一些问题,并且在网上找不到任何东西。然而,我是控制图的新手。
这里是一个例子,虽然不是原始数据,所以这个例子中的周数较少,但只要绘制了所有日期就没有关系。
再现数据:
df <- data.frame(x = rep(1:24, 4),
ReportMonth = (rep(seq(as.Date('2014-1-1'),
length.out = 24,
by = 'month'),
4)),
num = rbinom(4 * 24, 100, 0.5),
denom = round(runif(4 * 24, 90, 110)),
grp1 = rep(c('g', 'h'), each = 48),
grp2 = rep(c('A', 'B'), each = 24))
df
和绘图
qic(x= ReportMonth,
y= num,
n= denom,
data=df,
chart= "i",
x.format="%Y-%m-%d",
x.angle = 90,
y.expand = 40, # where to start y axis from
xlab = "Month",
ylab= "Value")
我已经尝试过 ggplot2,但我没有成功。
library(ggplot2)
library(plyr)
p3.1 <- rename(p3, c("x" = "Date"))
p3.1$Date<-as.Date(p3.1$x, format="%Y/%m/%d")
plot4 <- ggplot(p3.1, aes(x = Date,y = y )) +
geom_ribbon(ymin = p3.1$lcl, ymax = p3.1$ucl, alpha = 0.4) + # fill = ""
geom_line(colour = "blue", size = .75) +
geom_line(aes(Date, cl)) +
geom_point(colour = "red" , fill = "red", size = 1.5) +
#x.axis(1, p3$x, format(p3$x, "%Y-%m-%d"), cex.axis = 0.7)+
ggtitle(label = "Readmissions within 30 days") +
labs(x = NULL, y = NULL)+
theme_minimal()+
theme(axis.text.x = element_text(angle = 90, hjust = 1))
#aes(x = format(ActiveDate,"%Y-%m"), group = 1)) + geom_line(stat = "count")
#+ theme(axis.text.x = element_text(angle = 90, hjust = 1))
plot4
【问题讨论】:
-
你能创建一个 MRE:link?
-
我用例子重新编辑了这个问题。谢谢!
-
您想知道如何使用
qicharts::qic()或ggplot2::ggplot()在控制图上绘制数据框df?我很困惑,因为您对问题的描述与您的示例不符。例如,您说“59 周”,但您的df是 24 个月(2014-01-01 到 2015-12-01)。您是否希望我们忽略描述并仅在控制图上绘制df? -
抱歉给您带来了困惑。我想出了一个例子,因为原始数据不是要举例说明的。因此,只要绘制了我示例中的所有日期,周数就无关紧要。如您所见,并非所有日期都使用 qic 函数绘制。因此,我跳到 ggplot 函数,相信我将能够绘制所有日期。但失败了。有什么帮助吗?
标签: r ggplot2 control-charts