在某个索引之后比较R数据帧中的值

时间:2018-06-13 22:00:23

标签: r dataframe indexing compare

我有data.frame,如下所示。我想得到索引/行号,其中(ba)> 8但我想比较它们在第7行之后而不是从第1行。我已经编写了代码来获取行号,其中b-a> 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。

2 个答案:

答案 0 :(得分:0)

可以从两个向量中的偏移开始:

which((df$b[7:nrow(df)]-df$a[7:nrow(df)])>8)
#[1] 8

答案 1 :(得分:0)

这只是一个数学计算

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