首页 > 解决方案 > 当R数据框中的列等于1时如何获取行索引?

问题描述

当数据框列等于 1 时,我需要获取列表中的行号。示例代码:

emp.data <- data.frame(
   emp_name = c("Rick","Dan","Michelle","Ryan","Gary"),
   salary = c(623.3,515.2,611.0,729.0,843.25),
   start_date = as.Date(c("2012-01-01", "2013-09-23", "2014-11-15", "2014-05-11",
      "2015-03-27")),
    column = c(0, 1, 0, 1, 1),
   stringsAsFactors = FALSE
)
emp.data <- tail(emp.data, 3)
emp.data

我试过这个:

result <-as.numeric(rownames(emp.data[emp.data$column==1,]))

但我得到这个输出:

4 5

我需要这样的输出:

2 3

标签: rdataframe

解决方案


我们可以which在逻辑表达式上使用而不是row.namesasrow.names可以不同

which(emp.data$column == 1)

推荐阅读