查找行的行号

时间:2018-02-21 09:12:31

标签: r

我看到了几个找到特定值的行号的答案,如何查找特定值集的行号? 例如,dat是一个3x2数据帧,其值为(1,2,3,4,5,6) 我需要找到c(3,4)的行号。 函数(dat,c(3,4))输出2

的任何函数

1 个答案:

答案 0 :(得分:1)

我们可以将%in%which一起使用。循环遍历“dat”列,使用%in%获取list逻辑vector,将Reduce更新为vector & which并通过用which(Reduce(`&`, lapply(dat, `%in%`, 3:4))) #[1] 2

包装来返回位置
fnRindex <- function(data, vals) {
        which(Reduce(`&`, lapply(data, `%in%`, vals)))
}

fnRindex(dat, 3:4)

它可以包含在函数中

rowSums

sapply输出

上有which(rowSums(sapply(dat, `%in%`, 3:4))==2) 的其他选项
dat <- as.data.frame(matrix(1:6, ncol = 2, byrow = TRUE))

数据

<img src="{% static 'images/settingsIcon.png' %}">