【问题标题】:generating a subtable from a csv file based on another list根据另一个列表从 csv 文件生成子表
【发布时间】:2013-05-02 02:08:52
【问题描述】:

我有两个 CSV 文件。一个存储一个长列表M,例如

type  price
A      100
B      200
C      300
D      600
...

另一个列表 N 还存储了一个与 M 在“类型”方面相关的列表。但是列表 N 的长度小于 M 例如,它只有

type   Performence
D      0.5
B      0.1

有没有办法快速找到 M 的子集,其中包含 N 中包含的类型。在上面示例的上下文中,我需要从 M 生成一个子列表

type  price
B      200
D      600

【问题讨论】:

    标签: r csv


    【解决方案1】:

    假设您已经将文件作为数据名称:

    M.sub <- M[M$type %in% N$type,]
    

    【讨论】:

      【解决方案2】:
      library(data.table)
      
      M <- fread("path/to/M.csv")
      N <- fread("path/to/N.csv")
      
      setkey(M, "type")
      setkey(N, "type")
      
      
      M[N, price]
      #    type price
      # 1:    B   200
      # 2:    D   600
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-10-24
        • 1970-01-01
        • 2019-03-10
        • 1970-01-01
        • 1970-01-01
        • 2017-10-11
        • 1970-01-01
        • 2015-11-12
        相关资源
        最近更新 更多