【问题标题】:Compare value in R data frame after certain index在某个索引后比较 R 数据框中的值
【发布时间】:2018-11-23 14:33:18
【问题描述】:

我有一个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 行。

【问题讨论】:

  • 您希望输出什么?
  • @Onyambu,我已经编辑了我的问题。请看一看。

标签: r dataframe indexing compare


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    这只是一个数学计算

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-03-12
      • 2016-06-15
      • 1970-01-01
      • 1970-01-01
      • 2016-03-26
      • 1970-01-01
      • 1970-01-01
      • 2016-10-27
      相关资源
      最近更新 更多