r - 将两个数据框列与长度为 2 的向量匹配,以获取 r 中匹配行中的值
问题描述
这是我关于stackoverflow的第一个问题,就在这里。
我有一个看起来像的数据框 -
data.frame1<- data.frame("ID" = c(1,2,3,4,5), "Col1" = c(1,4,12,15,6), "Col2"= c(3,6,2,4,1))
那么我有两个值
Value1 <- 4
Value2 <- 6
我想为 (col1,col2) 中的每一对检查 (value1,value2) 以查看是否有匹配项。
如果匹配,我想返回 ID 号,所以在示例中 - 它会返回 2,如果没有匹配,我希望它返回 NA。
提前致谢!
解决方案
您可以使用which
:
with(data.frame1, ifelse(idx <- Col1 == Value1 & Col2 == Value2, which(idx), NA))
# [1] NA 2 NA NA NA
或者,如果您只想返回匹配的索引:
with(data.frame1, which(Col1 == Value1 & Col2 == Value2))
# [1] 2
推荐阅读
- java - 抽象类和泛型中“this”关键字的行为
- python - 正则表达式 - 用新行替换具有“.com 大写字母”的字符串中的空格
- java - 为什么在所有活动中都添加了向上按钮,而我只在一项活动中启用了它?
- javascript - jQuery 多次点击处理
- php - 在 PHP 中获取对象中的对象名称
- typescript - 打字稿:如何定义一个产生可调用实例的类
- ios - 如何导航到 navigationStack 中不存在的 UIViewController
- django - django并发请求两个url,每个请求头对每个url都是错误的
- settings - 在哪里可以找到 RingCentral 企业地址电子邮件地址?
- react-native - 反应本机模式日期时间选择器不起作用