【问题标题】:Get the column number in R given the column name for multiple variables [closed]给定多个变量的列名,获取R中的列号[关闭]
【发布时间】:2013-12-21 00:06:14
【问题描述】:

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

【问题讨论】:

  • 您能否举一个小例子说明您正在尝试做的事情。你尝试了什么?你在哪里卡住了?
  • 请在代码中给出理想的例子

标签: r multiple-columns labels


【解决方案1】:

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

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

【讨论】:

  • 你测试过这个吗? == 不是这样工作的。
  • == 仅适用于单个元素而不适用于多个元素
【解决方案2】:

试试这个:

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

【讨论】:

  • 更简洁地说是which(all.names %in% select.names)
【解决方案3】:

我找到了。

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

【讨论】:

    【解决方案4】:

    你真的应该使用 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)
    

    【讨论】:

      【解决方案5】:

      试试

      View(colnames(dataframe))
      

      这将输出列号和列名的表格

      【讨论】:

      • 你可以添加一些上下文,也许可以显示如何使用它的输出?
      猜你喜欢
      • 1970-01-01
      • 2015-05-29
      • 2014-08-14
      • 1970-01-01
      • 2020-11-27
      • 1970-01-01
      • 1970-01-01
      • 2012-12-31
      • 2017-03-14
      相关资源
      最近更新 更多