尽管两个表中都存在连接列,但出现 Sqldf 连接错误

Sqldf join error though joining column present in both tables

我在 sqldf 中遇到一个特殊错误,尽管我以前使用过类似的命令。我加载了三个包。错误如下所示。在我的实际数据框中,错误是相同的,即使在两个 table 中都存在连接列(此处为 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

编辑:期望的输出是两个 table 的左连接,table q 是左 table。

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

(select X3, X2,X4 from w)

所以它是:

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

此处您正在创建要在合并中使用的 table,但您没有包含在需要合并的列中。