【问题标题】:Subset data.frame based on a column that matches a separate vector [duplicate]基于与单独向量匹配的列的子集data.frame [重复]
【发布时间】:2015-06-06 01:58:01
【问题描述】:

这里又被难住了。

我有一个 4 列的 data.frame:

Col1      Col2      Col3      Col4
1         1.lsm     0.43      0.34
2         1.lsm     0.47      0.30
3         1.lsm     0.27      0.85
1         2.lsm     0.35      0.55
2         2.lsm     0.71      0.46
3         2.lsm     0.53      0.37
4         2.lsm     0.63      0.34

Col1 是随时间跟踪的单元格编号。

我有一个向量,其中包含与我要保留的单元格有关的整数:

keep=c(3, 4)

现在,我想使用向量“keep”来决定保留 data.frame 的哪些行,并输出一个包含所有列但只保留相关行的新 data.frame。

即这里的理想输出是:

Col1      Col2      Col3      Col4
3         1.lsm     0.27      0.85
3         2.lsm     0.53      0.37
4         2.lsm     0.63      0.34

【问题讨论】:

  • 如果你想像专业人士一样学习如何做到这一点,试试library(data.table) ; setkey(setDT(df), Col1)[.(keep)] ;)
  • 支持 data.table 评论。
  • @ColonelBeauvel 你应该取消删除你的答案。我只是懒得发这个。
  • 没关系,我想这个问题已经问过了!

标签: r subset segment


【解决方案1】:

你可以试试这个

 df[df$Col1 %in% keep, ]
 #   Col1  Col2 Col3 Col4
 # 3    3 1.lsm 0.27 0.85
 # 6    3 2.lsm 0.53 0.37
 # 7    4 2.lsm 0.63 0.34

【讨论】:

    猜你喜欢
    • 2020-04-16
    • 2015-02-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多