尽管两个表中都存在连接列,但出现 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,但您没有包含在需要合并的列中。
我在 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,但您没有包含在需要合并的列中。