R 如何使用Lappy为循环重新编写此代码

R 如何使用Lappy为循环重新编写此代码,r,for-loop,lapply,R,For Loop,Lapply,我试图用lappy替换R中的for循环 Table <- c("Filepath1","Filepath2") Conditions c<- c("Yes","No") for (i in 1:length(Table)){ Df[[i]] <- readxl::read_xlsx(Table[i]) Df[[i]]$Condition <- Conditions[i] } 我可以说: Df[[1]]$Conditions <- Conditions[1]

我试图用lappy替换R中的for循环

Table <- c("Filepath1","Filepath2")
Conditions c<- c("Yes","No")

for (i in 1:length(Table)){

Df[[i]] <- readxl::read_xlsx(Table[i])
Df[[i]]$Condition <- Conditions[i]

}
我可以说:

Df[[1]]$Conditions <- Conditions[1]
Df[[2]]$Conditions <- Conditions[2]

Df[[1]]$Conditions您可以使用
mapply
迭代两个对象(表和条件)。未经测试:

mapply(FUN = function(tbl, cnd) {
  out <- readxl::read_excel(tbl)
  out$Condition <- cnd
  out
}, tbl = Table, cnd = Conditions)
mapply(乐趣=功能(tbl,cnd){

例如:
lapply(seq_-along(Conditions),function(x){res您可以用read_-xlsx替换read_-excel。我实际上在本地使用了
read.csv
,因为我没有可用的xlsx文件。:)我喜欢您的答案:)但不幸的是,这些文件位于不同的目录中。请将list.files替换为带有文件路径的向量。您缺少参数。此外,请查看
transform
中的
以获得一行程序。呸,关于参数,您是对的。对不起,我不太喜欢一行程序。
mapply(FUN = function(tbl, cnd) {
  out <- readxl::read_excel(tbl)
  out$Condition <- cnd
  out
}, tbl = Table, cnd = Conditions)