R - 检查字符串中的子字符串,如果为真则将值添加到不同的变量

R - check for substring within string, if true then add value to a different variable

我想做一些我确信很简单的事情,但我没有什么 R 经验。

我有一个变量,其值是不同的字符串。我想检查每个值是否包含子字符串,如果是,则将另一个值添加到不同的变量。

我正在尝试这样的事情:

if (grep(ws$stim,'80m')==TRUE)  {
  ws$distance <- 80
  return(ws)
} else {
  return(ws)
}

即。 "If any value in the variable 'stim' contains the substring '80m', then change the value for the variable 'distance' to '80'."

我希望这是清楚的。谁能帮我解决这个问题?

你可以试试

 ws$distance[grep('80m', ws$stim)] <- 80

数据

set.seed(24)
ws <- data.frame(distance=sample(40:90, 20, replace=TRUE), 
       stim=sample(paste0(c(20,40,60,80),'m'), 20,
         replace=TRUE), stringsAsFactors=FALSE)