Sqldf加入错误虽然加入了两个表中的列

时间:2018-01-17 20:12:07

标签: r sqldf

我在sqldf中遇到一个奇怪的错误,尽管我之前使用过类似的命令。我加载了三个包。错误如下所示。在我的实际数据框中,错误是相同的,即使两个表中存在连接列(此处为X1)具有相同的数据类型。我犯了什么错误?

library("stringr") 
library("readxl") 
library("sqldf")

 q<-data.frame(replicate(10,sample(0:7,20,rep=TRUE)))
 w<-data.frame(replicate(10,sample(0:5,20,rep=TRUE)))

> q
   X1 X2 X3 X4 X5 X6 X7 X8 X9 X10
1   3  6  4  0  7  4  1  1  0   4
2   5  3  2  1  7 


   > w 
    X1 X2 X3 X4 X5 X6 X7 X8 X9 X10

1   4  2  1  1  5  5  2  3  5   5
2   2  4  3  2  2  5 

 newdf<-sqldf("select * from q left join (select X3, X2,X4 from w) using (X1)")

    Error in rsqlite_send_query(conn@ptr, statement) : 
      cannot join using column X1 - column not present in both tables

编辑:所需输出是两个表的左连接,表q是左表。

1 个答案:

答案 0 :(得分:2)

我相信你只需要将X1添加到:

(select X3, X2,X4 from w)

所以它是:

(select X3, X2,X4, X1 from w)

您要在此处创建要在合并中使用的表格,但不要在要合并的列中包含该内容。