dplyr-一次重新编码几列

道伊

假设您有一个数据框,其变量名为X1-X30和Y1-Y30。这些变量中的每一个都保存着1到5的整数。我们希望像这样从X开始重新编码一些变量:

df %<>%
   mutate_at(vars(starts_with("X") & 
                  ends_with("5", "8", "16", "22", "28")), 
             recode, "1" = 5, "2" = 4, "4" = 2, "5" = 1)

但是,这将返回以下错误:

Error in UseMethod("recode") : 
  no applicable method for 'recode' applied to an object of class "c('tbl_df', 'tbl', 'data.frame')"

这是因为重新编码需要使用向量作为参数。那么,如何绕过这种情况呢?

考德威尔斯特

mutate_at完全被设计为采用以向量为参数的函数,例如recode,这不是问题。你的错误是只因为你不使用选择助手与链逻辑调用&,而不是将它们用链表,vars()

另外,如果您想要的是目标,则可以使用matches来选择仅以X开头并以某些数字结尾的列。

library(dplyr)

set.seed(123)
df <- data.frame("X1" = sample(1:5, 10, TRUE),
                 "X2" = sample(1:5, 10, TRUE),
                 "X3" = sample(1:5, 10, TRUE)) 
df
#>    X1 X2 X3
#> 1   3  5  2
#> 2   3  3  1
#> 3   2  3  3
#> 4   2  1  4
#> 5   3  4  1
#> 6   5  1  3
#> 7   4  1  5
#> 8   1  5  4
#> 9   2  3  2
#> 10  3  2  5

df %>%
  mutate_at(vars(matches("^X.*1|2$")),
            recode, "1" = 5, "2" = 4, "3" = 3,"4" = 2, "5" = 1)
#>    X1 X2 X3
#> 1   3  1  2
#> 2   3  3  1
#> 3   4  3  3
#> 4   4  5  4
#> 5   3  2  1
#> 6   1  5  3
#> 7   2  5  5
#> 8   5  1  4
#> 9   4  3  2
#> 10  3  4  5

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

dplyr 重新编码 qoute 元素

来自分类Dev

使用 dplyr 重新编码变量

来自分类Dev

在dplyr中重新编码和Mutate_all

来自分类Dev

Dplyr:重新编码数字和字符向量

来自分类Dev

dplyr-如何重新编码为NA?

来自分类Dev

dplyr替代plyr :: mapvalues(使用字典重新编码)

来自分类Dev

用dplyr或forcats重新编码NA因子

来自分类Dev

在多个条件下重新编码 dplyr

来自分类Dev

如何使用dplyr重新编码(和反向编码)列中的变量

来自分类Dev

有没有办法一次重新编码多个变量?

来自分类Dev

ffmpeg - 一次修剪多个视频而无需重新编码?

来自分类Dev

根据查询表使用dplyr重新编码矩阵值

来自分类Dev

如何使用dplyr重新编码不在值列表中的所有值?

来自分类Dev

使用dplyr(R)根据查询表重新编码值

来自分类Dev

使用dplyr一次转换各种格式的日期

来自分类Dev

重新编码几列中的一些值,并保持这些列中的其他所有内容不变

来自分类Dev

dplyr mutate:使用第一次出现的另一列创建列

来自分类Dev

R dplyr嵌套伪编码

来自分类Dev

使用 dplyr 进行标签编码

来自分类Dev

如何使用dplyr在一次分析中分析按分组和未分组的数据集

来自分类Dev

dplyr和tidyr-使用因子一次计算很多线性模型

来自分类Dev

dplyr:第一次满足条件时替换值

来自分类Dev

一次将dplyr函数应用于所有变量

来自分类Dev

如何使用dplyr在一次分析中分析按分组和未分组的数据集

来自分类Dev

从dplyr :: contains的分组选择中排除几列

来自分类Dev

R-Dplyr-get()不适用于每一列,仅使用第一次出现

来自分类Dev

如何使用dplyr R中的摘要计算一列并同时加总几列

来自分类Dev

根据条件进行条件汇总,然后每月重复一次组,使用dplyr更改日期间隔范围

来自分类Dev

在 dplyr 中使用 filter() 查找第一次出现的 grepl 值并返回它和所有后续行

Related 相关文章

  1. 1

    dplyr 重新编码 qoute 元素

  2. 2

    使用 dplyr 重新编码变量

  3. 3

    在dplyr中重新编码和Mutate_all

  4. 4

    Dplyr:重新编码数字和字符向量

  5. 5

    dplyr-如何重新编码为NA?

  6. 6

    dplyr替代plyr :: mapvalues(使用字典重新编码)

  7. 7

    用dplyr或forcats重新编码NA因子

  8. 8

    在多个条件下重新编码 dplyr

  9. 9

    如何使用dplyr重新编码(和反向编码)列中的变量

  10. 10

    有没有办法一次重新编码多个变量?

  11. 11

    ffmpeg - 一次修剪多个视频而无需重新编码?

  12. 12

    根据查询表使用dplyr重新编码矩阵值

  13. 13

    如何使用dplyr重新编码不在值列表中的所有值?

  14. 14

    使用dplyr(R)根据查询表重新编码值

  15. 15

    使用dplyr一次转换各种格式的日期

  16. 16

    重新编码几列中的一些值,并保持这些列中的其他所有内容不变

  17. 17

    dplyr mutate:使用第一次出现的另一列创建列

  18. 18

    R dplyr嵌套伪编码

  19. 19

    使用 dplyr 进行标签编码

  20. 20

    如何使用dplyr在一次分析中分析按分组和未分组的数据集

  21. 21

    dplyr和tidyr-使用因子一次计算很多线性模型

  22. 22

    dplyr:第一次满足条件时替换值

  23. 23

    一次将dplyr函数应用于所有变量

  24. 24

    如何使用dplyr在一次分析中分析按分组和未分组的数据集

  25. 25

    从dplyr :: contains的分组选择中排除几列

  26. 26

    R-Dplyr-get()不适用于每一列,仅使用第一次出现

  27. 27

    如何使用dplyr R中的摘要计算一列并同时加总几列

  28. 28

    根据条件进行条件汇总,然后每月重复一次组,使用dplyr更改日期间隔范围

  29. 29

    在 dplyr 中使用 filter() 查找第一次出现的 grepl 值并返回它和所有后续行

热门标签

归档