Tidyr中的eparate()与NA

爵士乐

separate()包中有一个有关的问题当数据帧中没有NA时,eparate()起作用。我已经经常使用此功能。但是,今天我有一个案例,其中数据帧中包含NA。separate()返回错误消息。我可能很傻。但是,我不知道可能不是为这种数据清理而设计的。还是有什么方法separate()可以使用NA?非常感谢您抽出宝贵的时间。

这是基于注释的更新示例。假设我要分隔y中的字符并创建新列。如果我用NA删除行,则separate()可以工作。但是,我不想删除该行,该怎么办?

x <- c("a-1","b-2","c-3")
y <- c("d-4","e-5", NA)
z <- c("f-6", "g-7", "h-8")

foo <- data.frame(x,y,z, stringsAsFactors = F)

ana <- foo %>%
   separate(y, c("part1", "part2"))

# > foo
#    x    y   z
# 1 a-1  d-4 f-6
# 2 b-2  e-5 g-7
# 3 c-3 <NA> h-8
# > ana <- foo %>%
# +        separate(y, c("part1", "part2"))
# Error: Values not split into 2 pieces at 3
阿克伦

一种方法是:

    res <- foo %>% 
    mutate(y=ifelse(is.na(y), paste0(NA,"-", NA), y)) %>% 
    separate(y, c('part1', 'part2'))
     res[res=='NA'] <- NA
    res
    #   x part1 part2   z
   #1 a-1     d     4 f-6
   #2 b-2     e     5 g-7
   #3 c-3  <NA>  <NA> h-8

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

tidyr::gather() %>% mutate() %>% spread() 意外返回 NA

来自分类Dev

在单独的列(tidyr)中缺少“'into'”

来自分类Dev

tidyr replace NA在日期向量上似乎不起作用

来自分类Dev

R-tidyr-spread()-将NA作为列名处理

来自分类Dev

tidyr文档中的pivot_longer问题

来自分类Dev

rlang:在 tidyr unite 函数中引用 var

来自分类Dev

在dplyr或tidyr中执行类似于rbind的操作?

来自分类Dev

Tidyr`complete()`为什么不在R中完成?

来自分类Dev

使用Tidyr在R中彻底重组数据帧

来自分类Dev

如果tidyr无法下载,如何在R中拆分列?

来自分类Dev

tidyr 中的重复标识符错误

来自分类Dev

为什么我会使用tidyr的传播函数来获得带有NA的“重复”行?

来自分类Dev

使用 tidyr 将行中重复的标签和值转换为 R 中的列

来自分类Dev

在使用Tidyr进行重塑之前,先替换数据框多个响应列中的“ x”

来自分类Dev

是否可以在tidyr中的多个列上使用dcast类似于dcast?

来自分类Dev

在tidyr中,函数“ gather”用于从宽到长映射数据帧的条件是什么?

来自分类Dev

使用Tidyr将字符串长度不均匀的行拆分为R中的列

来自分类Dev

tidyr :: pivot_wider中的values_fill参数不起作用

来自分类Dev

使用tidyr :: pivot_longer为列表中的列分配不同的名称,并将它们组合

来自分类Dev

Tidyr`fill()`是否可以与R中的if_else()一起使用?

来自分类Dev

无法使用Tidyr中的新的ivot_wider()填充缺失值

来自分类Dev

如何使用Tidyr从家庭花名册中堆叠多列

来自分类Dev

在R中的嵌套for循环情况下寻找适用的,tidyr或dplyr解决方案

来自分类Dev

将变量传递到tidyr :: pivot_wider的names_glue参数中

来自分类Dev

在R中:tidyr使用正则表达式将值拆分并转换为列名

来自分类Dev

在R中:使用tidyr和reshape2拆分一列以获得多行

来自分类Dev

如何在Tidyr :: extract中的捕获组之外使用或进行逻辑测试

来自分类Dev

在使用Tidyr进行重塑之前,先替换数据框多个响应列中的“ x”

来自分类Dev

使用 tidyr 将 tibble 中的所有列联合起来

Related 相关文章

  1. 1

    tidyr::gather() %>% mutate() %>% spread() 意外返回 NA

  2. 2

    在单独的列(tidyr)中缺少“'into'”

  3. 3

    tidyr replace NA在日期向量上似乎不起作用

  4. 4

    R-tidyr-spread()-将NA作为列名处理

  5. 5

    tidyr文档中的pivot_longer问题

  6. 6

    rlang:在 tidyr unite 函数中引用 var

  7. 7

    在dplyr或tidyr中执行类似于rbind的操作?

  8. 8

    Tidyr`complete()`为什么不在R中完成?

  9. 9

    使用Tidyr在R中彻底重组数据帧

  10. 10

    如果tidyr无法下载,如何在R中拆分列?

  11. 11

    tidyr 中的重复标识符错误

  12. 12

    为什么我会使用tidyr的传播函数来获得带有NA的“重复”行?

  13. 13

    使用 tidyr 将行中重复的标签和值转换为 R 中的列

  14. 14

    在使用Tidyr进行重塑之前,先替换数据框多个响应列中的“ x”

  15. 15

    是否可以在tidyr中的多个列上使用dcast类似于dcast?

  16. 16

    在tidyr中,函数“ gather”用于从宽到长映射数据帧的条件是什么?

  17. 17

    使用Tidyr将字符串长度不均匀的行拆分为R中的列

  18. 18

    tidyr :: pivot_wider中的values_fill参数不起作用

  19. 19

    使用tidyr :: pivot_longer为列表中的列分配不同的名称,并将它们组合

  20. 20

    Tidyr`fill()`是否可以与R中的if_else()一起使用?

  21. 21

    无法使用Tidyr中的新的ivot_wider()填充缺失值

  22. 22

    如何使用Tidyr从家庭花名册中堆叠多列

  23. 23

    在R中的嵌套for循环情况下寻找适用的,tidyr或dplyr解决方案

  24. 24

    将变量传递到tidyr :: pivot_wider的names_glue参数中

  25. 25

    在R中:tidyr使用正则表达式将值拆分并转换为列名

  26. 26

    在R中:使用tidyr和reshape2拆分一列以获得多行

  27. 27

    如何在Tidyr :: extract中的捕获组之外使用或进行逻辑测试

  28. 28

    在使用Tidyr进行重塑之前,先替换数据框多个响应列中的“ x”

  29. 29

    使用 tidyr 将 tibble 中的所有列联合起来

热门标签

归档