r - R有选择地替换数据框的元素
问题描述
我在变量名称的数据框中有一列,如下所示:
tb <- tibble(Variable = c("var1", "var2", "var3"))
我还有一个新名称的命名向量,我想将列中的某些单元格替换为:
new_names <- c(var1 = "VariableOne")
我根据我的谷歌搜索尝试了这个:
tb %>% mutate(Variable = new_names[Variable])
# A tibble: 3 x 1
Variable
<chr>
1 VariableOne
2 NA
3 NA
它几乎可以工作,但如果单元格不在我的 new_names 向量中,我不希望 R 用 NA 替换单元格。在这种情况下,我想保留原来的名字。我该怎么做呢?
解决方案
library(dplyr)
tb <- tibble(Variable = c("var1", "var2", "var3"))
tb %>% mutate(Variable = replace(Variable, Variable == "var1", "VariableOne"))
推荐阅读
- mysql - MySql 将 start_date (VARCHAR) 列数据类型转换为 start_date (DATETIME) 而不会丢失数据
- c++ - 是否将 r 值传递给返回它的函数在 C++ 中被认为是错误的?
- python - 如何在 Django 中计算相关模型中的数据?
- node.js - 关于在数组中创建对象并在 discord bot 中使用 mongoose 包从数组中删除对象
- c# - ASP .Net Core 路由问题?
- identityserver4 - 快速入门指南:未指定 authenticationScheme,也未找到 DefaultChallengeScheme
- sqlite - SQLite - 使用 Delphi 的 TFDQuery
- .net-core - 在 Application Insights 上显示操作名称,其中 dotnet core 3.1 应用程序的 URL 以小写形式显示
- php - 谷歌的 Laravel 身份验证不适用于警卫
- pyspark - 带有向量汇编器的 PySpark 变换方法