151得票10回答
基于条件语句(`if`)替换数据框中的值

在下面编码的 R 数据框中,我想用 b 替换所有出现的 B。junk <- data.frame(x <- rep(LETTERS[1:4], 3), y <- letters[1:12]) colnames(junk) <- c("nm", "val") 这提供了: ...

25得票10回答
使用规范的tidyverse方法,根据查找表更新向量中的某些值。

我经常需要根据查找表重新编码数据框列中的一些(而不是全部)值。目前我知道的解决方法都不能满足我的要求。我希望能够以一种清晰、稳定和高效的方式来完成这项任务。在编写自己的函数之前,我想确认是否已经有标准的方法可以解决问题。## Toy example data = data.frame( i...

17得票13回答
多类别ifelse风格重编码的成语

我经常遇到这种情况,所以我认为一定有一个很好的习语来描述它。假设我有一个数据框架,其中包括“产品”等多个属性。我还有一个键,将产品转换为品牌+尺寸。产品代码1-3是泰诺,4-6是阿德维尔,7-9是拜耳,10-12是通用药品。 编写此代码的最快(从人类时间的角度)方法是什么? 如果分类少于3...

15得票3回答
使用data.table重编一个变量

我正在尝试使用data.table重新编码一个变量。我已经谷歌搜索了近2个小时,但是没有找到答案。 假设我有一个如下所示的data.table: DT <- data.table(V1=c(0L,1L,2L), V2=LETTERS[1:3], ...

15得票1回答
dplyr::recode 为什么使用管道会产生错误?

如果我在管道中使用recode,就会出现错误:df <- df %>% recode(unit, .missing="g") Error in UseMethod("recode") : no applicable method for 'recode' appli...

13得票9回答
使用recode函数在多个列之间进行转换,可以使用具有命名向量的命名列表。

我在这里找不到与我提出的问题类似的问题。我有一个非常大的命名向量列表,这些向量的名称与数据帧中的列名匹配。我想使用命名向量列表来替换与每个列表元素名称相匹配的数据帧列中的值。也就是说,列表中向量的名称与数据帧列的名称匹配,并且每个向量元素中的键-值对将用于重新编码该列。 以下是示例:libra...

10得票1回答
如何将命名向量或两个向量作为参数传递给dplyr::recode函数

我希望能够将命名向量或两个向量传递给dplyr :: recode函数。假设我有: library(dplyr) set.seed(1) x <- c("customer", sample(c("a", "b", "c"), 10, replace = TRUE)) recode_tb...

10得票4回答
将R语言中的月份转换成数字

我正在使用包括完整月份名称的数据: months <- c("March", "April", "May", "June", "July", "August", "September") 有没有一种函数可以将它们转换为数字? 非常感谢。

8得票5回答
使用dplyr重新编码多个列

我有一个数据框,其中我重新编码了几列,将999设为NA dfB <-dfA %>% mutate(adhere = if_else(adhere==999, as.numeric(NA), adhere)) %>% mutate(engage = if_else(e...

7得票2回答
如何同时重新编码多个变量

我在数据集中有几个变量需要进行完全相同的重新编码,还有几个变量需要以不同的方式重新编码。我尝试编写一个函数来帮助我完成这个任务,但是遇到了麻烦。 library(dplyr) recode_liberalSupport = function(arg1){ arg1 = recode(ar...