2014-06-16 86 views
0

我有一個數據框,其中有一列叫做activity.num。每行(大約有10,000行)包含介於1和8之間的值。R:使用來自文本文件的信息交叉引用數據幀

在名爲activity.txt的文本文件中,我介紹了該活動。該文件的格式是:

1. Read1 
2 Write2 
... 
8 Activity 

我的目標是讀取該文件與新列追加到名爲activity.desc用正確的描述數據幀。

我管理的文件

# returns a list of the activity number and description 
activityList <- function() { 
    con <- file("./activity.txt", open="rt")  
    data <- readLines(con) 
    close(con) 

    # split the list on the space 
    data <- strsplit(out," ") 
} 

在讀取所得到的輸出是與含有與所述第一元件是所述數量和第二個是描述一個向量中的每個線路的列表。

如果可以的話我會很感激:我的方法是否有效正確

  • 幫我activity.desc的產生

    1. 評論。

    謝謝。

  • +1

    將列表轉換爲一個data.frame,其中包含兩列(代碼和說明),而不是將數據與您的數據合併。 – Roland

    +0

    除了羅蘭的回答,你爲什麼用你的技巧來閱讀文字描述?你會考慮文本< - 掃描(文件=「activity.txt」,什麼=「字符」,sep =「\ t」)? – lawyeR

    回答

    0

    我設法找到一個解決方案(我不知道它是否可以改進)

    # activityList() function is defined above 
    activityref <- activityList() 
    
    # Add a new column with the description. ydata is the original data frame. 
    ydata[,"activity.desc"] <- sapply(ydata[,"activity.num"], function(x) activityref[[x]][2]) 
    

    希望這有助於。