Как умножить в операторах sqldf, используя внешнюю переменную с плавающей запятой

У меня проблемы с умножением чисел внешней переменной в sqldf. В проекции оператора SQL я хотел бы умножить значение столбца на внешнюю переменную с плавающей запятой input$euro (например, 0,23).

data <- read.csv("consumption1.csv", sep=",", header=T,skip =1)
colnames(data)[1] <- "Date"
colnames(data)[2] <- "HeatProduction"
sqldf("select Date, (HeatProduction/3*'%f') as HeatProduction from data where Date like '2014%' order by Date", input$euro)

Мне кажется, что результат всегда округляется до 0. Мой вопрос также в том, является ли это разумным способом построения запроса. Проблема может быть связана с SQLite.


person user1529973    schedule 10.01.2015    source источник
comment
Не могли бы вы добавить образец ваших данных (например, dput(data[1:10,]))?   -  person nrussell    schedule 10.01.2015
comment
Пожалуйста, предоставьте полный автономный пример. Также см. пример 5 на домашней странице sqldf.   -  person G. Grothendieck    schedule 11.01.2015


Ответы (1)


Попробуйте ниже:

inputEuro <- input$euro
fn$sqldf("select Date, (HeatProduction/3 * $inputEuro) as HeatProduction
          from data
          where Date like '2014%'
          order by Date")

См. пример 5 для внешних переменных sqldf.

person zx8754    schedule 25.03.2015