RMySQL:转换提取的数据
我试图从一个数据库中提取数值数据,其中列被设置为RMySQL:转换提取的数据,r,rmysql,R,Rmysql,我试图从一个数据库中提取数值数据,其中列被设置为VARCHAR(100)。相关列中的所有数据都是数字,因此提取格式化为整数的数据应该不会有任何问题。有没有一个很好的方法可以在R中实现这一点 以下是我得到的: m_df <- dbGetQuery(conn, paste("SELECT ", direc, " as Position, ", power, " as Power FROM ", table, " d LEFT JOIN files f
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=""))
产生以下错误:
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表示“Whaaa?”。下面的小片段再现了您的错误
(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
(x.char)
(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