【问题标题】:Matching values in columns in R [duplicate]R中列中的匹配值[重复]
【发布时间】:2018-01-10 15:39:38
【问题描述】:

我有 2 个包含同一商店信息的大型 csv 文件。

文件1:

Dates1            Sales
02-11-2017        100
04-11-2017        90
01-08-2016        80
01-02-2013        99
01-09-2016        12

文件2:

Dates2            Stores
02-11-2017        A
04-11-2017        B
01-09-2016        C

我需要的是找到匹配的日期并创建下表:

NewDates          Stores  Sales
02-11-2017        A       100
04-11-2017        B       90
01-09-2016        C       12 

文件有不同的行数,相同的日期可以包含在相关文件的不同行中。你能帮我在 R 中解决这个问题吗?

【问题讨论】:

  • 也许你可以使用sqldf
  • 这是一个简单的合并:merge(df1, df2, by.x = 'Dates1', by.y = 'Dates2')
  • 或使用来自dplyr 包的inner_join(df1, df2, by = c("Dates1" = "Dates2"))
  • 另一种方式:file2$sales

标签: r multiple-columns


【解决方案1】:
library(data.table)

df1 <- fread("file1")
df2 <- fread("file2")

merge(df1, df2, by.x = 'Dates.1', by.y = 'Dates.2')

data.table 包可以处理大文件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多