小编moe*_*lot的帖子

R - 使用索引和列表内容合并两个数据帧[R]

也许是血腥明显的,但对R来说是新的.我要合并的两个数据帧:

longtext <- c("bla bla burp bla blub", "blah bladd", "blablaz burp")
txt <- data.frame(longtext)
queries <- c("burp", "blah")
query <- data.frame(queries)
Run Code Online (Sandbox Code Playgroud)

query在更长的文本字符串中搜索了字符串txt.比赛保存在一个样式列表中:

matches <-list(c(1,3), c(2))
Run Code Online (Sandbox Code Playgroud)

列表的第一个索引matches,例如[[1]]指的是第一行query.的内容matches的第一行(1,3)中是指搜索命中行1和3 txt.所以我想通过使用索引和内容来合并两个数据帧matches:

queries; longtext        
"burp"; "bla bla burp blah blub"
"burp"; "blablaz burp"
"blah"; "blah bladd"
Run Code Online (Sandbox Code Playgroud)

但是......我对索引和内容的循环不起作用.有更简单的方法apply()吗?将提供大量数据......

matches_long <- data.frame()  
for (i in 1:length(matches)) {
  for (l in 1:length(matches[[i]])) {
    matches_long[[l]] <- data.frame(query[[i]], txt[[matches[[i]][l]]])}}  
Run Code Online (Sandbox Code Playgroud)

merge for-loop r apply dataframe

2
推荐指数
1
解决办法
68
查看次数

标签 统计

apply ×1

dataframe ×1

for-loop ×1

merge ×1

r ×1