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 <markleeds at 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)
> }))
>