使用tidyverse中的“ recode()”将值范围重新编码为一个数字

mbeasle2

我正在使用一个非常混乱的数据集,并且需要在管道中使用recode()函数将数字0:30转换为四个数字类别(0,1,2,3,4)。

是)我有的:

recode(var, 10:30 = 4,
              6:9 = 3,
              3:5 = 2,
              1:2 = 1,
              0 = 0))

任何帮助是极大的赞赏!

阿克伦

可能更容易 case_when

library(dplyr)
case_when(var %in% 10:30 ~ 4,
               var %in% 6:9 ~ 3, 
               var %in% 3:5 ~ 2,
               var %in% 1:2 ~ 1, 
                var == 0 ~ 0)

或另一个选择是 cut

as.integer(cut(var, breaks = c(-Inf, 0, 2, 5, 9, 30, Inf)))

注意:更改include.lowestright选项以cut进行调整

数据

set.seed(24)
var <- sample(0:35, 50, replace = TRUE)

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

将数字范围重新编码为R中的单个数字

在R中重新编码:将2个数字数据行转换为一个因子行

如何将整个数据框中的值重新编码为na,仅数字值?

使用dplyr中的mutate重新编码一个因子中的(字符串)值范围

将数值变量有效地重新编码为 data.frame 中的一个因子

在R中,是否有一种方法可以将一个数据帧中的列与另一数据帧中的值重新编码?

重新编码pandas dataframe列中除一个值外的所有值

使用dplyr的重新编码仅重新编码一列中的一些数字值

用一个数据帧中的数值重新编码一个数据帧中的字符变量列

使用 mutate_at 重新编码多个列值并基于管道中的变异列创建一个新列

根据sas中另一个字符变量的值重新编码一个字符变量中的值

将因子的级别重新编码为 R 中的特定数字

如何将时间变量重新编码为R(数据帧)中的数字

将数据框中的数据值重新编码为R中的组合值

将数据框列中的值重新编码为 R 中的缺失值

通过将值与向量中的数字进行比较来重新编码

选择大范围的值以在 R 中重新编码

如何将列转换为以另一个数字列中的值为条件的和?

我可以使用 IF 语句将一个数字乘以 Excel 中的数字列表/范围吗?

tidyverse中的变量的束重新编码(功能/元编程)

如何从tidyverse中的向量重新编码因子水平?

使用.apply将nan行重新编码为其他值

使用Tidyverse Join更新/替换数据框中的值

tidyverse解决方案,用于将多个列重新编码为新的列名后缀增加一的列

在R中使用tidyverse重新编码多个变量

使用dplyr或tidyverse重新编码因子水平

如何使用tidyverse工具将矩阵读取到R中?

json_encode将多个数组编码为PHP中的一个JSON对象?

根据不同数据帧中的值重新编码第二个数据帧中的值