You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
En la pregunta 4, el código base en el archivo ufo-analysis.sh no devuelve un dataframe. El problema es que no se están eliminando correctamente los códigos html, i.e. el texto entre los signos <>. También se debe eliminar el salto de línea marcado como "^M" (o bien, \r) y agregar saltos de línea para que sea un data fame. Yo lo resolví de esta manera, pero tal vez se pueda hacer de forma más sencilla:
unction extract_table() {
# get table
sed -n '/<TABLE .>/,/</TABLE>/p' $1 |
# Fill missings with NA's
sed 's/<[BR]>/NA/g' |
# Remove HTML code
sed 's/<[^>]>//g' |
# Remove ^M delimiters
sed 's/\r//g' |
# Remove empty lines
awk '/.+/ {print $0}' |
# Add pipes to lines that should be the end of lines
awk '{if (NR %7 == 0) {print $0"|"} else {print $0}}' |
# Paste all lines together in one line with tabs as separator
sed -e :a -e '$!N; s/\n/\t/; ta' |
# Separate lines using the added pipe
sed 's/|/\n/g' |
# Remove tabs at the begining of the lines
sed 's/^\t//g' |
# Remove emplty lines.
awk '/.+/ {print $0}'
}
Faltaría eliminar los encabezados duplicados en la parte de limpieza.
Adicionalmente, en la función calculate_stats se pide sacar conteos por color pero ésta no es una variable de los datos. ¿Lo cambiamos por ciudad?
¡Gracias!
The text was updated successfully, but these errors were encountered:
El código anterior todavía tenía problemas con líneas que tenían información del tipo "< 5 minutes". El siguiente código ya soluciona esto.
function extract_table() {
# get table
sed -n '/<TABLE .>/,/</TABLE>/p' $1 |
# Fill non-responses with NA's
sed 's/ /NA/g' |
# Remove double NA's
sed 's/NANA//g' |
# Remove HTML code
sed 's/<[^<>]>//g' |
# Remove ^M delimiters
sed 's/\r//g' |
# Remove empty lines
awk '/.+/ {print $0}' |
# Remove tabs
sed 's/\t/ /g' |
# Remove pipes
sed 's/|/ /g' |
# Add pipes to lines that should be the end of lines
awk '{if (NR %7 == 0) {print $0"|"} else {print $0}}' |
# Paste all lines together in one line with tabs as separator
sed -e :a -e '$!N; s/\n/\t/; ta' |
# Separate lines using the added pipe
sed 's/|/\n/g' |
# Remove tabs at the begining of the lines
sed 's/^\t//g' |
# Remove emplty lines.
awk '/.+/ {print $0}'
}
Hola Adolfo,
En la pregunta 4, el código base en el archivo ufo-analysis.sh no devuelve un dataframe. El problema es que no se están eliminando correctamente los códigos html, i.e. el texto entre los signos <>. También se debe eliminar el salto de línea marcado como "^M" (o bien, \r) y agregar saltos de línea para que sea un data fame. Yo lo resolví de esta manera, pero tal vez se pueda hacer de forma más sencilla:
unction extract_table() {
# get table
sed -n '/<TABLE .>/,/</TABLE>/p' $1 |
# Fill missings with NA's
sed 's/<[BR]>/NA/g' |
# Remove HTML code
sed 's/<[^>]>//g' |
# Remove ^M delimiters
sed 's/\r//g' |
# Remove empty lines
awk '/.+/ {print $0}' |
# Add pipes to lines that should be the end of lines
awk '{if (NR %7 == 0) {print $0"|"} else {print $0}}' |
# Paste all lines together in one line with tabs as separator
sed -e :a -e '$!N; s/\n/\t/; ta' |
# Separate lines using the added pipe
sed 's/|/\n/g' |
# Remove tabs at the begining of the lines
sed 's/^\t//g' |
# Remove emplty lines.
awk '/.+/ {print $0}'
}
Faltaría eliminar los encabezados duplicados en la parte de limpieza.
Adicionalmente, en la función calculate_stats se pide sacar conteos por color pero ésta no es una variable de los datos. ¿Lo cambiamos por ciudad?
¡Gracias!
The text was updated successfully, but these errors were encountered: