在给定多个变量的列名的情况下获取R中的列号

时间:2013-12-04 13:18:50

标签: r multiple-columns labels

我在Get the column number in R given the column nameGet column index from label in a data frame中找到了部分答案,但我找不到如何为多个变量执行此操作。我尝试将所有列名称放入向量中,但这不起作用。

5 个答案:

答案 0 :(得分:1)

尝试

View(colnames(dataframe))

这将输出列号和列名

的表格

答案 1 :(得分:0)

我找到了。

which(names(train)%in% name of the variables in vector)

答案 2 :(得分:0)

试试这个:

(1:length(all.names))[all.names %in% select.names]

答案 3 :(得分:0)

您应该真正使用 match()

  

match返回其第一个参数在其第二个参数中(第一个)匹配项的位置的向量。

语法:match( your_names_of_interest, names(your_df) )

另一个解决方案不保留顺序。为了说明为什么这很糟糕

df <- data.frame(foo=1:3, bar=4:6, qux=7:9)

multiple_names <- c('qux','bar','foo')

match(multiple_names,names(df)) # returns 3 2 1 (correct)

which(names(df) %in% multiple_names) # returns 1 2 3 (INCORRECT)

答案 4 :(得分:-2)

让x为数据框,column.names为要查找其编号的名称集。以下工作。

which(names(x) == column.names)