繁体   English   中英

如何在R中使用SQL脚本

[英]How do use SQL scripts in R

我需要编写一个SQL查询

这是我的桌子

x <- read.csv("C:/Users/Admin/Downloads/Set 1-1.csv",sep=",",dec=".")
y <- read.csv("C:/Users/Admin/Downloads/Set 1-2 - Copy.csv",sep=",",dec=".")
y$score <- 1

我尝试加入

library("sqldf")
select clientid,emailmessageid,null cnttrn,idatediff,null score from x 
union all select clientid,emailmessageid,cnttrn,idatediff,score from y

但是我收到以下错误:

从x中选择clientid,emailmessageid,null cnttrn,idatediff,null分数

错误:“选择客户端ID”中出现意外符号

联合所有y的选择clientid,emailmessageid,cnttrn,idatediff,分数

错误:“全部联盟”中出现意外符号

请帮助纠正它。 谢谢。

dput(x)

ClientID    EmailMessageId  MinDate MaxDate IdSlip  WwsCreatedDate  ProductArticle  ProductGroupName    MainProductGroupName    CategoryGroupName   QtytItems   SumAmount   iDateDiff
3E34C0C9FC05975CC0F01D7A3DEE73D022538FA04B17A0316178E090C04F84A8    894DB62F7B7A6ED2    31.08.2016  31.08.2016  4A19280A1164CF3F4A701EF9AE97A1F1084B611000B94C02    24.09.2015  item1   item2   item3   item4   1   580.0   -342
3E34C0C9FC05975CC0F01D7A3DEE73D022538FA04B17A0316178E090C04F84A8    894DB62F7B7A6ED2    31.08.2016  31.08.2016  4A19280A1164CF3F4A701EF9AE97A1F1084B611000B94C02    24.09.2015  item1   item2   item3   item4   1   3190.0  -342

dput(y)

ClientID    EmailMessageId  CntTrn  iDateDiff   score
86139F31664463A8B7592B6887B731A9FC2C3489BB1756A5BF334CFDEA4EF604    9EDCC1391C208BA0    1   4   1
BD483D69913E3EBFE5FBA87A1FFAB7DCD061055FFB4342C2F27AC01F36833254    EF72D53990BC4805    1   5   1
0B3B2F06C3033B3AFD83BA59B405BCC79BC69801FD3B69931F117B8D754A80EB    9EDCC1391C208BA0    1   3   1

这对我来说没有错误。 唯一的区别是查询已格式化。 结果正确吗?

library(sqldf)

y <- read.table(text = "ClientID    EmailMessageId  CntTrn  iDateDiff   score
86139F31664463A8B7592B6887B731A9FC2C3489BB1756A5BF334CFDEA4EF604    9EDCC1391C208BA0    1   4   1
BD483D69913E3EBFE5FBA87A1FFAB7DCD061055FFB4342C2F27AC01F36833254    EF72D53990BC4805    1   5   1
0B3B2F06C3033B3AFD83BA59B405BCC79BC69801FD3B69931F117B8D754A80EB    9EDCC1391C208BA0    1   3   1", header = TRUE)

x <- read.table(header = TRUE, text = "ClientID    EmailMessageId  MinDate MaxDate IdSlip  WwsCreatedDate  ProductArticle  ProductGroupName    MainProductGroupName    CategoryGroupName   QtytItems   SumAmount   iDateDiff
3E34C0C9FC05975CC0F01D7A3DEE73D022538FA04B17A0316178E090C04F84A8    894DB62F7B7A6ED2    31.08.2016  31.08.2016  4A19280A1164CF3F4A701EF9AE97A1F1084B611000B94C02    24.09.2015  item1   item2   item3   item4   1   580.0   -342
3E34C0C9FC05975CC0F01D7A3DEE73D022538FA04B17A0316178E090C04F84A8    894DB62F7B7A6ED2    31.08.2016  31.08.2016  4A19280A1164CF3F4A701EF9AE97A1F1084B611000B94C02    24.09.2015  item1   item2   item3   item4   1   3190.0  -342")

sqldf("
SELECT 
  ClientId,
  EmailMessageId,
  null CntTrn,
  iDateDiff,
  null Score 
FROM x 

UNION ALL 

SELECT 
      ClientId,
      EmailMessageId,
      CntTrn,
      iDateDiff,
      Score 
FROM y")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM