2011-07-21 5 views
1

J'essaie d'extraire des données numériques d'une base de données où les colonnes ont été définies comme VARCHAR(100). Toutes les données dans les colonnes pertinentes sont numériques, il ne devrait donc pas y avoir de problème pour extraire les données formatées en entier. Y a-t-il une bonne façon de faire ça en R?RMySQL: Transformation de données extraites

Voici ce que je suis:

m_df <- dbGetQuery(conn, paste("SELECT ", direc, " as Position, ", power, " as Power FROM ", table, 
        " d LEFT JOIN files f on f.id=d.fileid WHERE parc='", parc, 
        "' AND timestamp >= '", w_date[1], "' and timestamp <= '", w_date[2], 
        "' AND plantnumber = ", w_mach, sep="")) 

exécutant la commande suivante:

sum(m_df$Power) 

Produit cette erreur:

Error in sum(m_df$Power) : invalid 'type' (character) of argument 

Réalisation:

str(m_df) 

Génère:

'data.frame': 4317 obs. of 2 variables: 
$ Position: chr "280" "281" "288" "294" ... 
$ Power : chr "294" "342" "324" "284" ... 

Répondre

3

Vous essayez de résumer certains caractères et R dit "whaaaa?". Le petit extrait qui suit reproduit votre erreur.

(x.char <- sum(c("1", "2", "3"))) 
Error in sum(c("1", "2", "3")) : invalid 'type' (character) of argument 
(sum(as.numeric(x.char))) 
[1] 6 

Exécuter la fonction as.numeric sur votre data.frame et vous êtes bon pour aller.

Questions connexes