Excluir nomes sem sobrenome

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?

É só acomodar esses casos assim 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])) if(n==1) return(c(i[1], NA, NA)) }) À disposição. Walmes. ========================================================================== Walmes Marques Zeviani LEG (Laboratório de Estatística e Geoinformação, 25.450418 S, 49.231759 W) Departamento de Estatística - Universidade Federal do Paraná fone: (+55) 41 3361 3573 VoIP: (3361 3600) 1053 1173 e-mail: walmes@ufpr.br skype: walmeszeviani twitter: @walmeszeviani homepage: http://www.leg.ufpr.br/~walmes linux user number: 531218 =========================================================================

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
participantes (3)
-
Fátima Lima Paula
-
Henrique Dallazuanna
-
Walmes Zeviani