我有一个非常长的数据帧,如下所示(尽管列DAY中填充的不是数字,而是日期):

    df <- data.frame(Type = c(rep("date", times = 100)),
             Day = c(1:100))

在我的df中间有一段时间,我想删除每4行中的第三和第四行,比如从第50行到第70行,所以它最终看起来像这样:

  df <- data.frame(Type = c(rep("date", times = 80)),
             Date = c(1:52,55,56,59,60,63,64,67,68,71:90))

有没有一种方法可以在不手动命名要删除的每个行索引的情况下完成此操作?任何帮助都将不胜感激!

推荐答案

模运算符对这类事情很有用.

idx <- 1:1000
idx <- idx[idx < 51 | (idx + 1) %% 4 < 2 | idx > 70]
df <- df[idx, ]

或者,使用负指数:

idx <- 51:70
idx <- idx[(idx + 1) %% 4 > 1]
df <- df[-idx, ]

任何一种方法的结果:

#> df[45:75, ]
   Type Day
45 date  45
46 date  46
47 date  47
48 date  48
49 date  49
50 date  50
51 date  51
52 date  52
55 date  55
56 date  56
59 date  59
60 date  60
63 date  63
64 date  64
67 date  67
68 date  68
71 date  71
72 date  72
73 date  73
74 date  74
75 date  75
76 date  76
77 date  77
78 date  78
79 date  79
80 date  80
81 date  81
82 date  82
83 date  83
84 date  84
85 date  85

R相关问答推荐

使用scale_x_continuous复制ggplot 2中的离散x轴

从有序数据中随机抽样

从嵌套列表中智能提取线性模型系数

向gggplot 2中的数据和轴标签添加大写和星号

如何使用R中的dhrr函数将李克特量表的因子列从长转换为宽?

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

在嵌套列表中查找元素路径的最佳方法

以更少间隔的较小表中的聚合离散频率表

可以替代与NSE一起使用的‘any_of()’吗?

LOF中的插图短文字幕

如何识别倒排的行并在R中删除它们?

是否有新方法来更改Facet_WRAP(Ggplot2)中条文本的文本 colored颜色 ?

如何将一列中的值拆分到R中各自的列中

优化从每个面的栅格中提取值

将摘要图添加到facet_WRAP gglot的末尾

如何阻止围堵地理密度图?

我需要使用ggplot2制作堆叠条形图

是什么打破了此Quarto仪表板中的工具提示?

R中从因数到数字的转换

在分面的ggplot2条形图中对条形图进行排序,并省略每组未使用的系数级别