生成以下数据帧。
library(tidyverse)
library(qicharts2)
plot1 <- qic(age,
data = tail(cabg, 100),
chart = 'i',
title = 'Age of the last 100 patients (I chart)',
ylab = 'Years',
xlab = 'Patient #',
facet = ~ gender)
p1 <- plot1$data
然后绘制以下内容。
plot2 <- ggplot(p1, aes(x, y)) +
geom_ribbon(ymin = p1$lcl, ymax = p1$ucl, fill = "black", alpha = 0.05) +
geom_line(colour = "black", size = 1) +
geom_line(aes(x, cl)) +
geom_point(colour = "black" , fill = "black", size = 2) +
ggtitle(label = "") +
labs(x = NULL, y = NULL) +
scale_y_continuous(breaks = seq(0, 100, by = 10)) +
facet_grid(~ p1$facet1) +
theme_bw() +
theme(panel.grid.major = element_blank(), panel.grid.minor = element_blank())
plot2
当我尝试添加一些 geom_point() 时,出现错误。
plot2 + geom_point(
data = p1 %>% filter(sigma.signal == TRUE),
color = "red"
)
如何解决这个问题?
Error in
$<-.data.frame
(*tmp*
, "PANEL", value = c(1L, 1L, 1L, 1L, : replacement has 100 rows, data has 2
我可以在经济学数据集上以相同的方式在点之上添加点,没有任何问题。见下文。为什么我在我的主要示例中遇到麻烦?
ggplot(economics, aes(date, unemploy)) +
geom_point() +
geom_point(
data = economics %>%
filter(date > as.Date("2009-12-31")),
color = "red"
)
最佳答案
您所需要做的就是对新数据进行分面。也就是说,
plot2 + geom_point(
data = p1 %>% filter(sigma.signal == TRUE),
color = "red") + facet_grid(~ facet1)
关于r - ggplot2 错误 - 替换有 100 行,数据有 2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49458522/