Tengo un vector de caracteres y quiero asegurarme de que todos los elementos del vector tengan la misma longitud. Por lo tanto yo lleno elementos cortos con espacios, así:Sprintf en R no cuenta umlauts
vec <- c("fjdlksa01dada","rau","sjklf")
x <- sprintf("%-15s", vec)
nchar(x)
# returns
[1] 15 15 15
como respuestas a mi previous question sugeridos. Esto está bien, pero parece tener problemas con diéresis. Por ejemplo, si mi vector se ve así:
vec2 <- c("fjdlksa01dada","rauü","sjklf")
y <- sprintf("%-15s", vec)
nchar(y)
# returns
[1] 15 14 15
Estoy ejecutando R en Mac OS X (10.6). ¿Cómo puedo arreglar esto?
EDITAR: Nota, no estoy buscando arreglar la salida de nchar porque es correcta. El problema es que sprintf pierde la diéresis.
EDITAR: Actualiza R, cambia a DWins configuración regional - sin cambios en absoluto. Pero:
vec2 <- c("fjdlksa01dada","rauü","sjklf")
Encoding(vec2)
# returns
[1] "unknown" "UTF-8" "unknown"
extraño.
No se puede reproducir en una Mac con 10.5.8/Rv2.14.1 con> Sys.getlocale() = "en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF- 8/en_US.UTF-8 ". –
Eso es muy interesante. ¿Tiene -por casualidad- un manual/enlace sobre cómo instalar otras configuraciones regionales? Además, debo actualizar R, todavía ejecutando 2.13.2 –
La actualización a 2.14.1 no ayudó :( –