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

所以我有一个带有 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”均未出现时要分配的值。

https://stackoverflow.com/questions/69074035/

相关文章:

swiftui - PresentationMode 触发器 "Variable X used be

ruby-on-rails - Rubocop 在 Rails 中的蓝图序列化程序自定义字段中警告

git - 如何创建自定义 git/bash 脚本?

node.js - 如何在 nodejs 中使用 getRandomValues()?

rust - 为什么可以在 String 上调用 Colorize trait 方法,而 Strin

python - 您如何为加权平均平均值迭代地为数据框列赋予权重?

javascript - JS : proper way of using optional cha

reactjs - 如何防止我内存的 React 组件在 React DevTools 中显示为 "

go - 在 golang 中将 []*string 转换为 []string

javascript - $(this) 在我的 jQuery 点击函数中不起作用