Я пытаюсь использовать sqldf для вставки строк в существующий (но пустой) фрейм данных и получаю странную ошибку.
Вот мой код:
set.seed(1)
library(sqldf)
# define empty dataframe
d1 = data.frame(min_x=numeric(), max_x=numeric())
# create a data frame of random numbers
d2 = data.frame(x=runif(10))
# This works fine
sqldf("select min(x), max(x) from d2")
# But, the following statement generates an error
sqldf("insert into d1 select min(x), max(x) from d2")
Вот результат:
Не уверен, как это исправить. Я запускаю R 3.1.0 на 64-битной машине с Windows 7.
> set.seed(1)
>
> library(sqldf)
>
> # define empty dataframe
> d1 = data.frame(min_x=numeric(), max_x=numeric())
>
> # create a data frame of random numbers
> d2 = data.frame(x=runif(10))
>
> # This works fine
> sqldf("select min(x), max(x) from d2")
min(x) max(x)
1 0.06178627 0.9446753
>
> # But, the following statement generates an error
> sqldf("insert into d1 select min(x), max(x) from d2")
Error in sqliteExecStatement(con, statement, bind.data) :
RS-DBI driver: (error in statement: no such table: d1)
In addition: Warning message:
In value[[3L]](cond) : bind.data must have non-zero dimensions
>
Что я делаю не так? Заранее спасибо.
d1
для вставки. - person G. Grothendieck   schedule 24.06.2014