r - 如果字符串包含 x 在 R 中做 y

标签 r string

所以我有一个带有 ID 部分的数据框,看起来像这样

ID
Anna1
Anna1
Anton2
Anton2

我想创建一个新变量,如果 ID 中有 1,则包含“1”;如果变量中有“2”,则包含 2。

到目前为止我已经想到了这个

Fixations$test <- (ifelse(Fixations$ID %in% 1  ,"1", 
                              ifelse(Fixations$ID  %in% 2, "2", NA)))

显然,它不起作用,因为我对字符串的引用是错误的。谁能帮我解决这个问题?

提前致谢!

最佳答案

你可以使用grepl:

ifelse(grepl("1", Fixations$ID), "1", 
ifelse(grepl("2", Fixations$ID), "2", NA))

最后一个参数定义了当“1”或“2”均未出现时要分配的值。

关于r - 如果字符串包含 x 在 R 中做 y,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69074035/

相关文章:

java - JCombobox 和 String.equals(null)

c++ - 直接使用 Str.c_str() 和用它来初始化一个 const char * 有什么区别?

r - 在 R 中找到截断 Gamma 分布的 95 个可信区间

r - 将多边形添加到散点图,同时保留悬停信息

javascript - 如何使用 JavaScript 拆分此字符串?

Java 类实例(使用 ToString 方法覆盖)输出 "adt.BinaryNode@1e24e45"

r - R中的联合回归

r - 使用向量将多个 csv 文件读入到 r

r - 生成集进行交叉验证

java - Java 字符串末尾的 "..."= 内存空间不足?