Вы можете разбить строку, используя strsplit
и найти первое вхождение не - "'NA" "
v <- sapply(strsplit(v.string, ","), function(x) min(which(x != "'NA'")))
v
#[1] 2 1 Inf 1
Это возвращает Inf
, если совпадений нет, которые можно изменить на 0, если выхочу
v[is.infinite(v)] <- 0
v
#[1] 2 1 0 1
Лучший вариант @Shree с использованием match
sapply(strsplit(v.string, ","), function(x) match(TRUE, x!= "'NA'", nomatch = 0))
#[1] 2 1 0 1