r - 如何根据外部向量过滤表的行?

标签 r filter

(1) 我有一个用 R 读取的大表,其中有 10000 多行和 10 列。
(2) 表格的第三列包含医院名称。其中一些是重复的,甚至更多。
(3) 我有一个医院名称的向量,例如其中10个有待进一步研究。
(4) 你介意教我如何提取步骤1中所有名称列在步骤3中的行吗?
这是我的输入文件的一个较短的例子;

Patients Treatment Hospital Response 
1        A         YYY      Good 
2        B         YYY      Dead 
3        A         ZZZ      Good 
4        A         WWW      Good 
5        C         UUU      Dead
我有一个我有兴趣进一步研究的医院向量,即 YYYUUU .如何用R生成如下输出表?
Patients Treatment Hospital Response 
1        A         YYY      Good 
2        B         YYY      Dead 
5        C         UUU      Dead

最佳答案

使用 %in%运算符(operator)。

#Sample data
dat <- data.frame(patients = 1:5, treatment = letters[1:5],
  hospital = c("yyy", "yyy", "zzz", "www", "uuu"), response = rnorm(5))

#List of hospitals we want to do further analysis on
goodHosp <- c("yyy", "uuu")

您可以直接索引到 data.frame 对象中:
dat[dat$hospital %in% goodHosp ,]

或使用子集命令:
subset(dat, hospital %in% goodHosp)

关于r - 如何根据外部向量过滤表的行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5584597/

相关文章:

r - 在 R 中添加父行作为列标识符

r - 如何在 R 中的函数内部使用 colnames() 而不将数字输出转换为字符?

r - 如何控制 KnitR 中人物的标题位置?

R:如何将循环先前子元素的函数应用于列表

java - 解决了: SearchView doesn't filter in each child Tab of TabLayout

javascript - java中如何获取header的值

R 获取所有值为 NaN 的行

css - 将图像添加到 ioslides 演示文稿的标题页

javascript - 如何从 JavaScript 中的对象数组中获取重复值?

python - 如何在循环中过滤 Python 3 中的数字列表并更改列表长度