首页 > 解决方案 > 在某个索引后比较 R 数据框中的值

问题描述

我有一个data.frame如下所示。我想获得 (ba)>8 的索引/行号,但我想在第 7 行而不是第 1 行之后比较它们。我编写了代码来获取 ba>8 满足的行号,但它从行中检查1.如何从第7行查看?

a <- c(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16)
b <- c(2,12,4,5,2,5,8,5,7,19,6,7,4,23,1,2)

df <- data.frame(a,b)

which((df$b-df$a)>8)[1]

期望的输出:第 10 行而不是第 2 行。

标签: rdataframeindexingcompare

解决方案


这只是一个数学计算

(which(with(df[-(1:7),],b-a>8))+7)[1]
[1] 10
(a<-which((df$b-df$a)>8))[a>7][1]
[1] 10

推荐阅读