r - 如何编写 if-else 循环来添加列?

标签 r

我有这个数据

x1   
1A41 
5D12 
5B21 
8C12 

如果 x1 包含相应的字母,我想将列 x2 添加到写入 A、B、C 或 D 的数据中。

x1    x2
1A41  A
5D12  D
5B21  B
8C12  C

最佳答案

您可以使用搜索和替换并删除所有不同于 A、B、C 和 D 的字母:

# example data
df <- data.frame(x1= c("1A41", "5B21", "5D12",  "8C12"))

df$x2 <- gsub('.*([A-D]).*','\\1',df$x1)

关于r - 如何编写 if-else 循环来添加列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18607370/

相关文章:

用第二个数据框中的值替换一个数据框中的 NA 值

r - 删除所有变量的函数

r - 在 RStudio 中执行 "cannot open the connection"时出现错误 "knit HTML"

r - is.atomic() 与 is.vector()

r - "NAs introduced by coercion":带有 data.table::fifelse 的警告 - 但输出中没有 NA

r - 指示条形图基数 R 的统计显着差异

r - 日期转换 : Converting dates that contain day of the week to a normal date format

r - 如何在 RStudio 中清除可搜索历史数据库

r - 在 str_replace/stri_replace 中使用捕获的组 - stringi vs stringr

r - “lpSolveAPI 用于原始测试的意外结果”逻辑回归的错误