2

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

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

我正在尝试这样的事情:

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

IE。“如果变量'stim'中的任何值包含子字符串'80m',则将变量'distance'的值更改为'80'。”

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

4

1 回答 1

1

你可以试试

 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)
于 2015-06-10T17:36:38.687 回答