R:使用sqldf和insert创建数据帧

时间:2016-06-10 20:18:05

标签: r insert sqldf

我正在尝试使用sqlf和sql insert创建数据帧。这是我的代码的简单版本

d2 = data.frame(x=runif(10))
sqldf(c("create table d1(min_x real, max_x real)", 
        "insert into d1 select min(x), max(x) from d2", 
        "select * from d1"))

输出

       min_x     max_x
1 0.05290026 0.9427019

现在我想在我的R代码中使用d1,但如果我输入

d1

R回应

> d1
Error: object 'd1' not found

我使用SQLite和RH2尝试了相同的结果。

如何在R中使用d?

1 个答案:

答案 0 :(得分:1)

sqldf,当与默认驱动程序一起使用时,SQLite将设置一个即时内存数据库,该数据库将在退出时销毁。保存对象的唯一方法是使用:

进行分配
d1 <- sqldf(c("create table d1(min_x real, max_x real)", 
    "insert into d1 select min(x), max(x) from d2", 
    "select * from d1"))

然后您可以在R代码中使用它:

> print(d1)
  min_x     max_x
1 0.0558218 0.8966438