У меня есть функция отображения следующим образом:
sub.func <- function(x,y){
if(agrepl(x,y)){
return(x)
}
else{
return(y)
}
}
теперь я хочу применить это для сравнения двух списков разного размера, скажем, myList1
и myList2
, чтобы для каждого элемента myList1
sub.func
искал совпадение в myList2
и, если да, заменял элемент myList2
. Так что все элементы myList2
сопоставляются. Как я могу добиться этого без использования циклов? Любой вариант применения функций можно использовать?
e.g.
myList1 <- c("a b", "c d", "e f")
myList2 <- c("1", "a b d", "d", "e f g h", "2 3 a c d", "c g")
желаемый результат имеет ту же длину, что и myList2, но по возможности сопоставляется с myList1
output <- c("1", "a b", "d", "e f", "c d", "c g")
agrepl
является векторизованной функцией. - person Rich Scriven   schedule 24.10.2014