sqldf - 在参考数据框中使用变量,将变量添加到输入数据框中
sqldf - using variables in reference dataframe, add a variable to input dataframe
我有一个数据框,每一行都有 CategoryCodes
。多行具有相同的 CategoryCodes
,并且有数百个唯一的 CategoryCodes
。我必须为每一行分配类别名称,从参考数据框中提取类别。我尝试使用以下语法,但这给了我一个输出,其中 MyData 中的行数增加了倍数。输出应具有与 MyData 相同的行数。我哪里错了?
Combineddf<-sqldf("select * from MyData left join
ReferenceDf using (CategoryCodes)")
参考资料:
CategoryCodes Class
5 120500 Tools
6 166300 Spare Parts
7 280200 Spare Parts
8 280200 Spare Parts
9 295200 Spare Parts
10 165000 Spare Parts
MyData(超过 30 列):
X Z CategoryCodes Y
5 OW EA 120300 S
6 ANB EA 120500 S
7 ANB FOT 120300 S
8 ANB EA 120500 S
9 ANB EA 120300 S
10 MIS EA 120500 S
当有多个匹配项时,连接中的行数会增加。
在 Reference Data
中您可以看到重复的类别代码 - 例如第 7 行和第 8 行都有代码 280200
,因此 MyData
中的任何代码 280200
都将匹配这两行。
也许您只想 select ReferenceDF
的唯一行?像
Combineddf<-sqldf("select * from MyData left join
(select distinct * from ReferenceDf)
using (CategoryCodes)")
我有一个数据框,每一行都有 CategoryCodes
。多行具有相同的 CategoryCodes
,并且有数百个唯一的 CategoryCodes
。我必须为每一行分配类别名称,从参考数据框中提取类别。我尝试使用以下语法,但这给了我一个输出,其中 MyData 中的行数增加了倍数。输出应具有与 MyData 相同的行数。我哪里错了?
Combineddf<-sqldf("select * from MyData left join
ReferenceDf using (CategoryCodes)")
参考资料:
CategoryCodes Class
5 120500 Tools
6 166300 Spare Parts
7 280200 Spare Parts
8 280200 Spare Parts
9 295200 Spare Parts
10 165000 Spare Parts
MyData(超过 30 列):
X Z CategoryCodes Y
5 OW EA 120300 S
6 ANB EA 120500 S
7 ANB FOT 120300 S
8 ANB EA 120500 S
9 ANB EA 120300 S
10 MIS EA 120500 S
当有多个匹配项时,连接中的行数会增加。
在 Reference Data
中您可以看到重复的类别代码 - 例如第 7 行和第 8 行都有代码 280200
,因此 MyData
中的任何代码 280200
都将匹配这两行。
也许您只想 select ReferenceDF
的唯一行?像
Combineddf<-sqldf("select * from MyData left join
(select distinct * from ReferenceDf)
using (CategoryCodes)")