2015-01-29 2 views
0

두 번째 열에서 하나씩 테이블 인쇄를 읽습니다. 이것은 내 R 코드입니다. x의 출력은 문자열이며 열 값을 검색 할 수 없습니다. 나는 'as.factor()'와 'gsub()'를 시도했지만 성공하지 못했습니다. 예를 들어r에 Column 값의 출력을 가져 오시겠습니까?

 # 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 
+0

우리는 이것을 재현 할 수 있도록'dput' 또는'table.txt' 파일의 복사본을 제공 할 수 있습니까? –

+1

'x <- paste ("filename $", column_name [i], sep = "");''x <- filename [colum_name [i]]'를 고려해야합니다. – akrun

+0

당신은 열 이름이 아니라고 생각합니다. 'colnames (filename)'은 무엇을 반환합니까? –

답변

0
 x <- eval(parse(text=paste("filename","$",column_name[i],sep=""))) 

아마도 그것이 작동거야 ...이보십시오.

+0

예. 작동했습니다. – Issac

+0

네,하지만 Prime Directive ("fortune"은 "eval (parse())"에 대한 유명한 코멘트를 위반했습니다) –

관련 문제