【问题标题】:Get the output of Column values in r?获取 r 中列值的输出?
【发布时间】:2015-01-29 14:58:21
【问题描述】:

我正在一一阅读第二列的表格打印。 这是我的 R 代码。 x 的输出是字符串,它无法检索列值。我尝试了 'as.factor()' 和 'gsub()',但没有成功。

     # Read the table .
     filename  = read.table("table.txt", row.names=1, sep="\t", header=TRUE)
     # Assigning to dataframe .
     filename <- data.frame(filename)
     # Getting the column names .
     column_name <- colnames(filename)
     print (column_name)
     # Print the name of 2nd column onwards up to end . 
     for (i in 2:length(column_name)){
          print (column_name[i]);
          ## Here , I want to parse the filename with column name ?
          ## For example table has columns "MONTH", "Pressure", "Temp".
          ## O/P:  filename$Pressure ,filenameT$emp

          ############################################
          x <- paste("filename$",column_name[i],sep="");
          ############################################
          print (x );
          names ( x ) <- rownames ( filename );
       }

例如:

  Month    Pressure       Temp         Wind   
   JAN       17             36           120
   FEB       10             34           110
   MAR       13             30           115
   APR       14             33           105
.......

O/P:

     17
     10
     13
     14


     36
     34
     30
     33


     120
     110
     115
     105

【问题讨论】:

  • 您能否提供dput 或文件table.txt 的副本以便我们复制此内容?
  • 我认为你应该考虑x &lt;- filename[colum_name[i]]而不是x &lt;- paste("filename$",column_name[i],sep="");
  • 您认为的列名很可能不是。 colnames(filename) 返回什么?
  • @Akrun [x
  • @Carl Witthoft 'colnames(filename)' 返回每列从开始到结束的名称。

标签: r string replace


【解决方案1】:
      x <- eval(parse(text=paste("filename","$",column_name[i],sep="")))

试试这个......也许它会工作。

【讨论】:

  • 是的,但您违反了最高指令(搜索 fortune 以获取有关“eval(parse())”的著名评论)
猜你喜欢
  • 2017-10-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多