我正在尝试创建一个循环来从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 ....”
我认为问题出在第一行,它将数据框名称存储为字符,而不是变量名称 .
为了解决这个问题,我一直在为我的大脑进行最好的解决,但我对循环很新,这超出了我的技能水平 .
1 回答
正如您所指出的那样,问题是使用表的名称字符串,而不是表本身 . 您只需要“获取”即可使代码正常工作 .
但是更好的解决方案是根本不做任何循环:首先合并(rbind)7个数据集然后折叠结果 .