我有两个列表,它们代表Domo中的数据表,我正在使用Domo API进行检索。 ID是domo中数据表的ID。我将使用DomoR :: fetch()函数使用这些ID来获取表。我想分别命名每个表a,b和c。
id = list(1,2,3)
tablename = list(a,b,c)
如何通过for循环实现以下目标?
a<-DomoR::fetch(1)
b<-DomoR::fetch(2)
c<-DomoR::fetch(3)
结果应该是三个名为a,b,c的数据框
答案 0 :(得分:0)
通过for
循环,我们可以遍历vector
的序列,将输出分配给创建的NULL
list
lst1 <- vector("list", length(v1))
names(lst1) <- v1
for(i in seq_along(v1)) lst[[i]] <- DomoR::fetch(v1[i])
提取
lst1[["a3478de"]]
lst1[[v1[1]]]
其中
v1 <- c("a3478de", "sefh334", "wrfiu24")
答案 1 :(得分:0)
请考虑使用lapply
来迭代检索数据帧,并考虑setNames
来命名列表元素。
v1 <- c("a3478de", "sefh334", "wrfiu24")
lst1 <- setNames(lapply(seq_along(v1), DomoR::fetch), v1)
通常建议使用一个列表来处理许多相似的数据框,而不是遍及全球环境的许多单独的相似数据框。如果存储在列表中,则不会丢失数据框的功能,只需更改引用即可:
lst1$`a3478de`
lst1$`sefh334`
lst1$`wrfiu24`