好的,所以我有一个网络论坛评论的数据框.每行都有一个包含ID的单元格,该ID是该注释的父注释的链接的一部分.行包含注释的完整永久链接,其中ID是变化的部分.
我想添加一个列,显示附加到该父注释的用户名.我假设我需要使用一些正则表达式函数,在这一点上我觉得很神秘.
在工作流术语中,我需要找到其URL包含父注释ID的行,从该行中获取用户名.这是一个玩具示例:
toy <- rbind(c("yes?", "john", "www.website.com/4908", "3214", NA), c("don't think so", "mary", "www.website.com/3958", "4908", NA))
toy <- as.data.frame(toy)
colnames(toy) <- c("comment", "user", "URL", "parent", "parent_user")
comment user URL parent parent_user
1 yes? john www.website.com/4908 3214 <NA>
2 don't think so mary www.website.com/3958 4908 <NA>
Run Code Online (Sandbox Code Playgroud)
需要成为:
comment user URL parent parent_user
1 yes? john www.website.com/4908 3214 <NA>
2 don't think so mary www.website.com/3958 4908 john
Run Code Online (Sandbox Code Playgroud)
此列中的某些值将为NA,因为它们是顶级注释.所以,像,
dataframe$parent_user <- dataframe['the row where parent
ID i is found in the URL column', 'the user name column in that row']
Run Code Online (Sandbox Code Playgroud)
谢谢!!
另一种选择,使用basename基数R中的函数," 删除所有路径,包括最后一个路径分隔符(如果有的话) "
toy$user[match(toy$parent, basename(as.character(toy$URL)))]
#1] <NA> john
#Levels: john mary
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
82 次 |
| 最近记录: |