当前位置: 首页 > 知识库问答 >
问题:

在dplyr中带有mutate的ifelse语句

明星剑
2023-03-14

我用R编写了以下代码,效果很好。但是,假设我必须对具有多个级别的因子变量应用类似的代码(

  library(dplyr)
  mtcars %>% arrange(gear) %>%
  mutate(gearW = ifelse(gear == 3, "Three", ifelse(gear == 4, "Four", "Five")))

共有1个答案

景星华
2023-03-14

我们可以使用因子

mtcars %>% 
  arrange(gear) %>% 
  mutate(gearW = as.character(factor(gear, levels=3:5, 
        labels= c("three", "four", "five"))))

或者另一个选项是english

library(english)
mtcars %>%
        arrange(gear) %>%
        mutate(gearW = as.character(english(gear)))

编辑:将添加为。人物来自@David Arenburg和@Konrad Rudolph的评论。

 类似资料:
  • 给定数据帧,如下所示 我想通过dplyr 基于< code>var的值添加一个col 。 基于以下逻辑。 如果或则,如果或则 一起使用,如下所示

  • 我有一个数据集是这样排列的: 在这个数据集中,ID应该按时间顺序通过每个阶段(A、B、C、D),并在最后达到赢/输(ID 003和006) 但是,有时 ID 向后移动 (ID 005),其他 ID 跳过阶段(ID 001 和 004),而有些则直接转到赢/输(ID 002 和 007)。 我想用dplyr mutate逻辑调用这些。输出: 我知道我应该用类似这样的逻辑,但是我我就是想不通。 提前感

  • 我想从数据帧中提取一个变量名,并用dplyr::mutate创建一个新变量。我必须写什么才能接受通过“md$meta[1]”提供的变量名?我想这是直截了当的,但我还没能在网上找到答案。如有任何帮助,不胜感激!

  • 我到处都找不到答案。 问候

  • 我有一个很大的dataframe,我正在尝试对其进行一些计算,这些计算以前是在旧版本上进行的,并且是用base R编写的。我的目标是使用DPLYR创建新的列,并使用这些计算的输出。此代码的前一个版本使用了几十个中间数据流,并使用函数将这些计算写到单独的文件中。 我很好奇是否有可能在编写时保留这些函数,但将它们嵌入到dplyr中,以引用中的列,而不是原始版本中的这些临时矩阵。 下面是我正在处理的代码

  • 我想使用dplyr的mutate_at函数将一个函数应用于数据帧中的几个列,其中该函数输入它直接应用到的列以及数据帧中的另一列。 作为一个具体的例子,我希望改变以下数据帧 与调用类似 返回一个看起来像这样的数据框 所需的调用将类似于以下对的调用: 我知道这可以通过几种方式在base R中实现,但为了可读性、与数据库的接口等,我特别希望使用dplyr的mutate\u at函数来实现这一目标。 在d