Tengo algunos problemas con los espacios en blanco iniciales y finales en un data.frame. Por ejemplo, me gusta echar un vistazo a una específica row
en un data.frame
basado en una determinada condición:¿Cómo se recortan los espacios en blanco iniciales y finales en R?
> myDummy[myDummy$country == c("Austria"),c(1,2,3:7,19)]
[1] codeHelper country dummyLI dummyLMI dummyUMI
[6] dummyHInonOECD dummyHIOECD dummyOECD
<0 rows> (or 0-length row.names)
Me preguntaba por qué no he tenido el resultado esperado ya que el país Austria, obviamente existido en mi data.frame
. Después de mirar a través de mi historial de códigos y tratando de averiguar lo que salió mal Traté:
> myDummy[myDummy$country == c("Austria "),c(1,2,3:7,19)]
codeHelper country dummyLI dummyLMI dummyUMI dummyHInonOECD dummyHIOECD
18 AUT Austria 0 0 0 0 1
dummyOECD
18 1
Todo lo que han cambiado en el comando es un espacio en blanco adicional después de Austria.
Surgen obviamente otros problemas molestos. Por ejemplo, cuando me gusta fusionar dos marcos en función de la columna del país. Uno data.frame
usa "Austria "
, mientras que el otro marco tiene "Austria"
. La coincidencia no funciona.
- ¿Hay una buena manera de 'mostrar' el espacio en blanco en mi pantalla para que yo sepa el problema?
- ¿Y puedo eliminar el espacio en blanco inicial y final en R?
Hasta ahora he utilizado para escribir un simple script Perl
que elimina los espacios en blanco, pero sería bueno si de alguna manera puedo hacerlo dentro R.
Acabo de ver que 'sub()' usa la notación 'Perl' también. Lo siento por eso. Voy a tratar de usar la función. Pero para mi primera pregunta aún no tengo una solución. – mropa
Como hadley señaló que esta expresión regular "^ \\ s + | \\ s + $" identificará los espacios en blanco iniciales y finales. entonces x <- gsub ("^ \\ s + | \\ s + $", "", x) muchas de las funciones de lectura de R tienen esta opción: strip.white = FALSE – Jay