This question already has answers here:
Filter data.frame rows by a logical condition

(9 个回答)


4年前关闭。




再一次被难住了。

我有一个 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,但只保留相关行。

IE。这里的理想输出是:
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

最佳答案

你可以试试这个

 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

关于r - 基于与单独向量匹配的列对 data.frame 进行子集,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29390485/

10-16 22:13