【问题标题】:RMySQL: Transforming extracted dataRMySQL:转换提取的数据
【发布时间】:2011-10-10 01:40:49
【问题描述】:

我正在尝试从列已设置为VARCHAR(100) 的数据库中提取数字数据。相关列中的所有数据都是数字,因此提取格式化为整数的数据应该没有任何问题。在 R 中有没有很好的方法来做到这一点?

这是我得到的:

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=""))

执行以下操作:

sum(m_df$Power)

产生这个错误:

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

表演:

str(m_df)

生成:

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

【问题讨论】:

    标签: r rmysql


    【解决方案1】:

    您正在尝试对某些字符求和,而 R 说“WHAAAA?”。后面的小 sn-p 重现了您的错误。

    (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
    

    在您的 data.frame 上运行 as.numeric 函数,一切顺利。

    【讨论】:

      猜你喜欢
      • 2016-06-12
      • 2023-02-05
      • 2020-03-13
      • 1970-01-01
      • 1970-01-01
      • 2021-05-22
      • 1970-01-01
      • 2016-01-09
      • 2019-11-22
      相关资源
      最近更新 更多