这是一个相当基本的问题,但我想仔细判断一些东西.

我有一件从1970年到1999年的物品.有几年,我没有价值观(隐含的Nas).每年的统计被分成五年的间隔.五年的间隔是我的游戏情节中的一个方面.

当我制作情节时,我使用scales="free_x",目的是只在相关方面涵盖的年份获得x休息.我现在的问题是,丢失的年份没有显示出来.我想要的是在每个方面显示所有5个相关的年份/休息,而不仅仅是那些数据可用的那些.

我的问题是:我是正确的,我只能通过明确缺失的年份来补救这个问题,也就是. for each 缺失的年份创建0或NA值;还是通过创建有序因子并在x轴上打印它们的所有级别?

我只是感兴趣的是,没有更直接的方法来连续zoom ,特别是当我无论如何都有一个定义所有断点的矢量时.

下面是我的例子.非常感谢.

library(tidyverse)
#> Warning: package 'tidyverse' was built under R version 4.2.1
#> Warning: package 'tibble' was built under R version 4.2.1

df_data <- data.frame(
        year = c(1971L,1972L,1973L,1976L,1977L,1979L,
                 1980L,1981L,1982L,1983L,1989L,1990L,1991L,1992L,1993L,
                 1994L,1995L,1996L,1998L,1999L),
       value = c(2L,3L,4L,7L,8L,10L,11L,12L,13L,14L,
                 20L,21L,22L,23L,24L,25L,26L,27L,29L,30L)
)

df_data <- df_data %>%
mutate(year_5=cut(year, breaks=c(Inf, seq(1970, 1999, 5)), right=T))

class(df_data$year)
#> [1] "integer"



df_data %>%
ggplot()+
geom_bar(aes(x=year, y=value),
stat="identity")+
facet_wrap(vars(year_5))


df_data %>%
ggplot()+
geom_bar(aes(x=year, y=value),
stat="identity")+
scale_x_continuous(breaks=seq(1970,1999,1))+
facet_wrap(vars(year_5), 
scales="free_x")

创建于2022-09-17年第reprex v2.0.2

推荐答案

用零来填补缺失的年份是相当简单的:

library(tidyverse)

df_data <- data.frame(
  year = c(1971L,1972L,1973L,1976L,1977L,1979L,
           1980L,1981L,1982L,1983L,1989L,1990L,1991L,1992L,1993L,
           1994L,1995L,1996L,1998L,1999L),
  value = c(2L,3L,4L,7L,8L,10L,11L,12L,13L,14L,
            20L,21L,22L,23L,24L,25L,26L,27L,29L,30L)
)

df_data %>%
  complete(year = 1970:1999, fill = list(value = 0)) %>%
  mutate(year_5 = paste(5 * floor(year/5), 5 * floor(year/5) + 4, sep ="-")) %>%
  ggplot(aes(year, value)) +
  geom_col() +
  facet_wrap(vars(year_5), scales = "free_x")

创建于2022-09-17年第reprex v2.0.2

R相关问答推荐

基于两个现有列创建新列

如何使用ggplot重新绘制LASO回归图?

如何在ggplot 2 geom_segment图表中将UTC转换为EET?

高质量地将R格式的图表从Word中输出

使用ggplot 2根据R中的类别排列Likert比例gplot

根据列表中项目的名称多次合并数据框和列表

R创建一个数据透视表,计算多个组的百分比

在发布到PowerBI Service时,是否可以使用R脚本作为PowerBI的数据源?

自动变更列表

为什么舍入POSIXct会更改能力以匹配等效的POSIXct?

使用R闪光显示所有数据点作为默认设置

计算满足R中条件的连续列

用R ggplot2求上、下三角形中两个变量的矩阵热图

以NA为通配符的R中的FULL_JOIN以匹配其他数据中的任何值.Frame

自动STAT_SUMMARY统计与手动标准误差之间的差异

在具有多个响应变量的比例堆叠条形图上方添加总计

在r中整理图例和堆叠图的问题

如何在AER::ivreg中指定仪器?

如何更改包中函数中的参数?

我已经运行了几个月的代码的`Palette()`中出现了新的gglot错误