我尝试使用数字创建两列数据框,然后创建一个包含两个数字的商的新列,然后插入商列,如下所示:
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)
我做错了什么?感谢。
答案 0 :(得分:0)
我认为这是其中一种可能性,还有其他更好的选择吗?
df <- sqldf("select * from df left join (select a,a/b[quot] from df) df_quot using (a)")