在R中的多个列中删除组内的NA

米格尔

我经常使用如下时序数据集:

           CNGBOND. FRGBOND.
2006-02-15       NA     3.76
2006-03-31     4.26       NA
2006-05-15       NA     4.25
2006-06-30     4.69       NA
2006-08-15       NA     4.17
2006-09-29     4.08       NA
2006-11-15       NA     4.06
2006-12-29     4.11       NA

我想将行分组为四分之一,并删除NA以获得:

        CNGBOND. FRGBOND.
2006 Q1     4.26     3.76
2006 Q2     4.69     4.25
2006 Q3     4.08     4.17
2006 Q4     4.11     4.06

有没有简单/优雅的方法来实现这一目标,最好使用dplyr管道?

我考虑过转换为季度(使用zoo:as.yearqtr),然后按季度日期进行分组(使用dplyr::group_by),但后来陷入了如何为每个组中的每一列过滤掉NA的问题。

tmfmnk

一种解决方案涉及zoo并且dplyr可能是:

df %>%
 rownames_to_column(var = "Date") %>%
 group_by(Date = as.yearqtr(Date, format = "%Y-%m-%d")) %>%
 summarise_all(~ na.omit(.))

  Date      CNGBOND. FRGBOND.
  <yearqtr>    <dbl>    <dbl>
1 2006 Q1       4.26     3.76
2 2006 Q2       4.69     4.25
3 2006 Q3       4.08     4.17
4 2006 Q4       4.11     4.06

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

R Str_从管道内的多个列中删除

来自分类Dev

合并R中的多个向量以删除NA

来自分类Dev

为完整案例设置阈值以从R中的多个列中删除NA

来自分类Dev

在多个列中循环使用组值替换NA

来自分类Dev

删除特定列R中的NA

来自分类Dev

R在逻辑列级别中删除NA

来自分类Dev

删除在r中包含NA的列

来自分类Dev

R dplyr从表中删除“ <NA>”列

来自分类Dev

使用特殊的 NA 处理在 R 中的组内排名

来自分类Dev

如何基于3列的总和删除R中的行组

来自分类Dev

从数据框中删除NA,但在R列中除外

来自分类Dev

根据多个条件删除组中的行

来自分类Dev

在R中的多个列中删除与符号/模式匹配的行

来自分类Dev

如何获得R中组内列之间的差异?

来自分类Dev

根据r中单独列中的单个输入,删除列中的一组输入

来自分类Dev

R通过ID删除所选列的行中的na

来自分类Dev

当 R 中的 NA 太多时删除其中的一列

来自分类Dev

删除另一列中具有多个唯一值的组

来自分类Dev

如何在R中按组删除开头和结尾的NA的行

来自分类Dev

删除具有Data.Table中所有NA或R中DPLYR的组

来自分类Dev

用户定义的函数,用于分析多个csv,创建变量并按R中的组对NA进行计数

来自分类Dev

从多个列中选择组中的值

来自分类Dev

检查给定组的多个列中的值

来自分类Dev

R代码,用于删除组中的值

来自分类Dev

R中按组删除的图表

来自分类Dev

R中多个组的出现指数

来自分类Dev

对R中列中的组执行功能

来自分类Dev

按R中的多个列(一组较大的列)对数据框进行排序

来自分类Dev

在R中的组内生成序列