Buenas tardes José Miguel,

La primera parte puedes hacerla con varios ifelse (ver codigo en la parte
inferior) o utilizando la funcion recode de car.

Combinar los nombres como describes en la segunda parte del email es un poco
mas complejo, pero una aproximacion seria la utilizacion de strsplit() en
combinacion con %in% y toupper().

Saludos,
Jorge Ivan Velez


# funcion para cambiar las tildes
#  x es el nombre a cambiar
foo <- function(x){
  x <- strsplit(x, '')[[1]]
  y <- ifelse(x == "á", 'a',
 ifelse(x == "é", 'e',
         ifelse(x == "í", 'i',
          ifelse(x == "ó", 'o',
           ifelse(x == "ú", 'u', x)))))
  paste(y, sep = "", collapse = "")
}

# ejemplo 1
x <- "María José"
x
foo(x)


# ejemplo 2  -- asumiendo que lees los nombres via read.table()
d <- data.frame(t(data.frame(
  c("Ana", "Morales", "Díaz"),
  c("María José", "de la Fuente", "Pérez")
  )))
colnames(d) <- c('Nombre', 'Apellido1', 'Apellido2')
rownames(d) <- NULL
d

# transformacion
d[,] <- apply(d, 2, function(x) sapply(x, foo))
d
*

*


2011/3/20 José Miguel Contreras <>

>
> Hola a todos, quisiera reemplazar caracteres (nombres y apellidos) con
> tildes por caracteres sin acentos.
>
> Ejemplo:
>
> "Ana" "Morales" "Díaz"
>
> "María José" "de la Fuente" "Pérez"
>
> Por
>
> "Ana" "Morales" "Diaz"
>
> "Maria Jose" "de la Fuente" "Perez"
>
> Y además si sabéis como coger una parte de los caracteres y ponerlos en
> otros
>
> "Maria Jose" "de la Fuente" "Perez"
>
> Por
>
> "Maria Jose de la" "Fuente" "Perez"
>
> Gracias
>
>
>        [[alternative HTML version deleted]]
>
>
> _______________________________________________
> R-help-es mailing list
> R-help-es@r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es
>
>

	[[alternative HTML version deleted]]

