簡體   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