R:使用来自文本文件的信息交叉引用数据框

时间:2014-06-16 09:17:11

标签: r

我有一个数据框,其中有一列名为activity.num。每行(大约10,000行)包含1到8之间的值。

在名为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," ")
}

结果输出是一个列表,每行包含一个向量,第一个元素是数字,第二个元素是描述。

如果可以,我将不胜感激:

  1. 评论我的方法是否有效正确
  2. 帮助我生成活动.desc。
  3. 感谢。

1 个答案:

答案 0 :(得分: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])

希望这有帮助。