Problema:
Estoy (tratando de) construir un data.frame
en R, donde el nombre de la columna a veces incluye caracteres de puntuación como "?".
Sin embargo, R los convierte en "." , por ejemplo:
Código
t= data.frame("a?a" = c(1,2,3), "bee" = c(200,300,400))
t= data.frame("a.a" = c(1,2,3), "bee" = c(200,300,400))
ambos regresan
t
a.a bee
1 1 200
2 2 300
3 3 400
Tampoco podría escapar al trabajo (y me gustaría evitarlo, ya que tengo muchas cadenas sin caracteres especiales).
t= data.frame("a\?a" = c(1,2,3), "bee" = c(200,300,400))
> t
a..a bee
1 1 200
2 2 300
3 3 400
Pregunta:
Me gustaría tener caracteres como signos de interrogación y puntos representados en los nombres de mis columnas (las columnas contienen resultados para las búsquedas de expresiones regulares); por lo menos, deben mantenerse separados.
- ¿Hay alguna manera de hacerlo?
Sentí que esto podría haber sido mencionado antes, pero no pude encontrarlo aquí; agradecido por cualquier punteros. ¡Gracias!
Respuestas
4 para la respuesta № 1Los nombres de columna de un data.frame deben ser nombres de variable válidos para su uso con funciones que admitan interfaces de fórmula y evaluación no estándar. los data.frame
función impone estos requisitos "limpiando" los nombres para usted a través del make.names()
función. Si insiste en usar nombres "inválidos", simplemente configure el check.names=
parámetro a FALSO.
data.frame("a?a" = c(1,2,3), "bee" = c(200,300,400), check.names=FALSE)
# a?a bee
# 1 1 200
# 2 2 300
# 3 3 400