R dyplr:按名称获取列的索引

时间:2016-03-03 09:44:18

标签: r dplyr

我需要通过它的名称来获取data.tabletbl_df列的索引,

有一种比以下更简单的方法:

getColIndex <- function(df, colnameTarget = "myColumnName") {
    colnames <- names(traindata_subset)
    colIndex <- 1
    found <- FALSE
    for(colname in colnames) {
        if (colname == colnameTarget) {
            found <- TRUE
            break
        }
        colIndex <- colIndex + 1
    }

    if (found) {
        return (colIndex)
    }
    else {
        return (-1)
    }
}

特别是使用Hadley的dplyr

2 个答案:

答案 0 :(得分:5)

尝试使用base R:并首先由David回答:

index <- match(colname, names(df))

答案 1 :(得分:3)

如果我理解你的目标,

which(names(df) == "myColumnName")就是你要找的东西吗?