【问题标题】:R: Cross reference a data frame with information from a text fileR:使用文本文件中的信息交叉引用数据框
【发布时间】:2014-06-17 13:11:42
【问题描述】:

我有一个数据框,其中有一列名为 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. 帮我生成activity.desc。

谢谢。

【问题讨论】:

  • 将您的列表转换为包含两列(代码和说明)的 data.frame,而不是 merge 与您的数据。
  • 除了罗兰的回答,你为什么要用你的技术来阅读文字描述?你会考虑 text

标签: r


【解决方案1】:

我设法找到了解决方案(我不确定是否可以改进)

# 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])

希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-09-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-04
    相关资源
    最近更新 更多