【发布时间】:2018-06-28 10:02:16
【问题描述】:
我正在尝试创建一个循环以从 R 中的多个数据帧中提取数据,然后将它们绑定到一个数据帧中。 数据帧的名称都相同,并在末尾附加一个增量(split1、split2、split3...)以区分。
每个数据框都包含一个数字列表,我希望将其附加到 URL。
目前我构建的循环如下:
requester_url <- "https://example.url/users/show_many/ids="
for(i in 1:7 {
splitname <- paste0('split',i)
requester_ids <- paste0(splitname, collapse = ",")
requester_url <-paste0(requester_url,requester_ids)
}
如果我分解我希望元素在循环中执行的操作,这可能会更有帮助。 在下面的部分中,我想创建一个新变量,它是应用了增量的数据框名称。
splitname <- paste0('split',i)
我希望这会输出“split1, split2, split3...”,然后在循环的下一部分中引用它。
requester_ids <- paste0(splitname, collapse = ",")
这应该提取包含在循环数据框名称中的数字,并用逗号分隔数字折叠。我知道的崩溃是有效的,因为我已经在循环之外多次使用了它。
最后,循环的最后一部分应该使用 url 变量并附加上一行中提取的所有 id 并以以下方式结束: "https://example.url/users/show_many/ids=11111,22222,33333...."
我认为问题出在第一行,它将数据框名称存储为字符,而不是变量名称。
我整天都在绞尽脑汁想如何解决这个问题,但我对循环很陌生,这超出了我的技能水平。
【问题讨论】:
-
splitname <- paste0('split',i)在每次迭代中只会创建一个字符串,因此requester_ids <- paste0(splitname, collapse = ",")什么都不做,因为没有多个字符串可以折叠。 -
这是一个很好的观点。您对我如何修改循环以按预期工作有什么建议吗?