Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

358
Visualizações
¿Cómo convertir archivos de texto en marcos de datos en R?

Estoy tratando de exportar puntos de datos de mongodb. Desafortunadamente, no pude conectarlo directamente a rstudio. Entonces, a partir del resultado de la consulta, creé un archivo de texto e intenté leerlo como archivo de texto en R.

 "cityid", "count" "102","2" "55","31" "119","7" "206","1" "18","2" "15","1" "32","3" "14","1" "54","2" "23","85" "158","3" "266","1" "9","1" "34","1" "159","1" "31","1" "22","2" "209","2" "121","4" "73","12" "350","2" "311","2" "377","2" "230","7" "290","1" "49","2" "379","2" "75","1" "59","6" "165","3" "19","8" "13","40" "126","13" "243","12" "325","1" "17","1" "null","235" "144","2" "334","1" "40","12" "7","34" "181","40" "349","4"

Básicamente, el formato es como el anterior y me gustaría convertirlo en un marco de datos del cual pueda hacer referencia para el cálculo con otros conjuntos de datos.

Esto es lo que traté de hacer para hacer un marco de datos ...

 L <- readLines(file.choose()) L.df <- as.data.frame(L) list <- strsplit(L.df, ",") library("plyr") df <- ldply(list) colnames(df) <- c("city_id", "count") str(df) df$city_id <- suppressWarnings(as.numeric(as.character(df$city_id)))

En la última línea, traté de convertir el valor del carácter en un valor numérico solo para fallar y forzarlos a NA.

¿Alguien tiene una mejor sugerencia para hacerlos como una tabla de valores numéricos? ¿O hay una mejor manera de llevar mongodb a R sin copiarlos y pegarlos como archivos de texto? Tuve éxito al conectarme a mongodb usando Rmongo, pero la sintaxis era demasiado complicada para que yo la entendiera. La consulta que usé es:

 db.getCollection('logging_app_location_view_logs').aggregate([ {"$group": {"_id": "$city_id", "total": {"$sum":1}}} ]).forEach(function(l){ print('"' + l._id + '","' + l.total + '"'); });

¡Gracias de antemano por tu ayuda!

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

No necesita volver a especificar los nombres de las columnas cuando ya ha pasado header = TRUE en la función read.table . El argumento colClasses se encargará de la clase de una columna de datos.

 df <- read.table(file.choose(), header = TRUE, sep = ",", colClasses = c('character', 'character'), na.strings = 'null') # convert character to numeric format char_cols <- which(sapply(df, class) == 'character') # identify character columns df[char_cols] <- lapply(df[char_cols], as.numeric) # convert character to numeric column
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda