使用SQLite生成并插入新列

时间:2011-08-16 10:13:47

标签: sqlite r

我尝试使用数字创建两列数据框,然后创建一个包含两个数字的商的新列,然后插入商列,如下所示:

df <- data.frame(a=1:3,b=c(3,NA,5))
df <- sqldf(c("update df set b=4 where b is null", "select * from main.df"),method="raw")
df_quot <- sqldf("select a,a/b[quot] from df")
df <- sqldf("select df_quot.a,b,quot from df, df_quot
             where df.a = df_quot.a")

我正在尝试使用一行代码执行此操作,如下面的内容但失败:

df <- sqldf("select (select a,a/b[quot] from df) df_quot, a, b from df join df_quot using(a)")
Error in sqliteExecStatement(con, statement, bind.data) : 
  RS-DBI driver: (error in statement: only a single result allowed for a SELECT that is part of an expression)

我做错了什么?感谢。

1 个答案:

答案 0 :(得分:0)

我认为这是其中一种可能性,还有其他更好的选择吗?

df <- sqldf("select * from df left join (select a,a/b[quot] from df) df_quot using (a)")