nome=c("Teresa dos Santos","Paulo da Silva","Denis Henrique de Paula","Pedro dos Santos","Pedro Maia", "Maria do Carmo")
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)
Quando faço head para o fa1 no meu exemplo, retorna assim, que pelo pouco que sei de R, parece uma matriz
> head(fa1)
[,1] [,2] [,3] [,4] [,5] [,6]
[1,] "Teresa" "Paulo" "Denis" "Pedro" "Pedro" "Maria"
[2,] NA NA "Henrique" NA NA NA
[3,] "Santos" "Silva" "Paula" "Santos" "Maia" "Carmo"
Já quando peço o head do fa do meu bancão, retorna assim e zebra tudo a partir daí.
> head(fa)
[[1]]
[1] "HERALDO" "TAVARES" "SILVA"
[[2]]
[1] "JUPITER" NA "SILVA"
[[3]]
[1] "JACI" NA "SANTOS"
[[4]]
[1] "MARCOS" "SILVA" "FILHO"
[[5]]
[1] "PAULO" "SILVA" "PORTO"
[[6]]
[1] "INACIO" "AVELINO" "BELO"
Alguém tem ideia do que seja?
Obrigada
Fátima