缺失元素的虚拟元素以保持功能 运行

Dummy elements for missing elements to keep a function running

我重新创建了一个我一直遇到的错误。我很清楚错误表明 int1 中的元素 6 丢失,因此无法将其删除。当比较两个长度不同的数据集(不确定如何重新创建它)时,我的实际脚本会导致此错误。我想知道是否有某种方法可以将虚拟元素插入缺少元素的位置。

我遇到的错误:

Error in `stop_subscript()`:
! Can't negate elements that don't exist.
x Location 6 doesn't exist.
i There are only 5 elements.
Run `rlang::last_error()` to see where the error occurred.
library(lubridate)
library(tidyverse)
library(purrr)

date <- rep_len(seq(dmy("01-01-2011"), dmy("31-07-2011"), by = "days"), 100)
ID <- rep(c("A","B"), 100)
df <- data.frame(date = date,
                 x = runif(length(date), min = 60000, max = 80000),
                 y = runif(length(date), min = 800000, max = 900000),
                 ID)

df$Month <- month(df$date)

int1 <- df %>%
  # arrange(ID) %>%   # skipped for readability of result
  mutate(new = floor_date(date, '10 day')) %>%
  mutate(new = if_else(day(new) == 31, new - days(10), new)) %>% 
  group_by(ID, new) %>%
  filter(Month == "1") %>% 
  group_split()

int1 <- int1[-2]

int1 <- int1[-6]

假设您要删除矢量 x 中的元素。那你可以试试:

int1[setdiff(seq_along(int1), x)]