Hi, if i just want a vector filled with names which has length(index) > 0.
For example if nombreC <- c("Juan", "Carlos", "Ana", "María") nombreL <- c("Juan Campo", "Carlos Gallardo", "Ana Iglesias", "María Bacaldi", "Juan Grondona", "Dario Grandineti", "Jaime Acosta", "Lourdes Serrano") I would like to obtain a matrix called vaca with two column, name and index, name is nombreC's element and index is the position in nombreL, I don't want info about nombreC which no appear in nombreL. And I would like to count how many cases appear. For example vaca: name index 1 Juan 1 2 Juan 5 3 Carlos 2 4 Ana 3 5 María 4 Code is it: vaca <- do.call(rbind,lapply(noquote(nombreC),function(.name) { index <- grep(.name,noquote(nombreL)) index <- if( length(index) > 0) index else 0 data.frame(name=.name,index=index) })) vaca <- vaca[vaca$index>0,] cuenta <- nrow(vaca) Thanks, Sebastia´n 2010/5/11 <markle...@verizon.net>: > Hi: I added another column to make the output more understandable. I hope it > helps. > > > do.call(rbind,lapply(nombreC,function(.name) { > index <- grep(.name,nombreL) > nummatches <- if (length(index) > 0) length(index) else 0 > index <- if( length(index) > 0) index else 0 > data.frame(name=.name,index=index,nummatches=nummatches) > })) > ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.