R grepl внутри петли - PullRequest
       40

R grepl внутри петли

0 голосов
/ 19 марта 2020

Здравствуйте. Я хочу добавить определенное значение в строки, которые содержат определенные c строки. Например, это работает:

df[grepl("acting", df$Q), "QG"] <- "SP"
df[grepl("did not", df$Q), "QG"] <- "SP"
df[grepl("Somehow", df$Q), "QG"] <- "SP"

Однако я хотел поместить все в al oop, чтобы уменьшить код. Это не работает (и не понимаю, почему)

assignSubgroup <- function(keywords, group){
  for(k in keywords){
    df[grepl(k, df$Q), "QG"] <- group
  }
}

assignSubgroup(c("acting", "did not", "Somehow"), "SP")

Это не вызывает ошибок, но ничего не делает с кадром данных. В чем проблема? Спасибо

1 Ответ

0 голосов
/ 19 марта 2020

Использование базы R и отсутствие функции или l oop:

df$QC[grepl("acting|did not|Somehow", df$Q)] <- "SP"
...