Tente assim:

subset(dados1, grepl("\\w\\s+\\w", dados1$nome))


2013/1/10 Fátima Lima Paula <fatima.lima.paula@gmail.com>
Descobri que não consigo separar os nomes no bancão poque têm vários nomes que não têm sobrenome nenhum.
Só que são muitos.
Existe uma forma de excluir essas linhas?
Aí vai o exemplo com a Maria. Não roda.
Quando peço um summary no "separado", retorna que Maria tem length=1. Seria retirar todos que têm length=1.

nome=c("Teresa dos Santos","Paulo da Silva","Denis Henrique de Paula","Pedro dos Santos","Pedro Maia", "Maria")
idade=c("80","89","78","78","78","85")
dataint=c("26","20","25","25","25","20")
dados1=data.frame(nome,idade,dataint)
dados1
str(dados1)
nome1=dados1$nome
# remover da,das,do,dos,de
nome1=gsub(" d(a|e|o)s? ", " ", nome1)
separado1=strsplit(as.character(nome1), split=" ")
head(separado1)
fa1=sapply(separado1,
          function(i){
            n=length(i)
            if(n>2) return(c(i[1], paste(i[2:(n-1)],collapse=" "), i[n]))
            if(n==2) return(c(i[1], NA, i[n]))
          })
nomenovo1=t(fa1)
nomenovo1=as.data.frame(nomenovo1)
dim(nomenovo1)
colnames(nomenovo1)=c("nome1","nome2","nome3")
dados2=cbind(dados1,nomenovo1)
head(dados2)
Por favor, alguém pode ajudar?

_______________________________________________
R-br mailing list
R-br@listas.c3sl.ufpr.br
https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.



--
Henrique Dallazuanna
Curitiba-Paraná-Brasil
25° 25' 40" S 49° 16' 22" O