2014-06-16 43 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]) 
    

    希望这有助于。