(R) -检查子字符串是否包含在较大的字符串中并更改值

(R) -检查子字符串是否包含在较大的字符串中并更改值,r,substring,grepl,stringi,R,Substring,Grepl,Stringi,我正在尝试检查数据集中的一列,该列中的所有字符值都具有“1”、“2”、“12”、“NAME1”、“NAME2”等值 我正在尝试选择具有非数字名称的值,并将其更改为99。这就是我迄今为止所做的尝试: install.packages("stringi") library(stringi) stacked_data$NewCol=ifelse(stri_detect_fixed(stacked_data$OldCol,"NAME")==TRUE,99,stacked_data) 我在运行此代码时收

我正在尝试检查数据集中的一列,该列中的所有字符值都具有“1”、“2”、“12”、“NAME1”、“NAME2”等值

我正在尝试选择具有非数字名称的值,并将其更改为99。这就是我迄今为止所做的尝试:

install.packages("stringi")
library(stringi)
stacked_data$NewCol=ifelse(stri_detect_fixed(stacked_data$OldCol,"NAME")==TRUE,99,stacked_data)
我在运行此代码时收到此错误消息:

Error in table(stacked_data$NewCol) : 
attempt to make a table with >= 2^31 elements
有人能帮我指出正确的方向吗?任何帮助都将不胜感激!谢谢大家!

一个简单的选择是

  i1 <- is.na(as.numeric(df1$col))
  df1$col[i1] <- 99
i1