在r中同时为多个对象分配数据类型

Assigning data type to multiple objects at same time in r

我正在创建一个类型为 data.frame 的对象,就像这样

df1=as.data.frame(c())
df2=as.data.frame(c())
df3=as.data.frame(c())
.
.
.
df8=as.data.frame(c())
df9=as.data.frame(c())
df10=as.data.frame(c())

我想在一行中完成此操作,因为每次我都明确提到定义一个对象并声明其数据类型 所以我尝试这样做

ax=as.list(paste("df",c(1:10),sep = ""))
lapply(ax, as.data.frame)

但这给了我一个输出列表,我也尝试过应用但没有 worked.How 我是否会为此提出任何建议 谢谢...

我们可以使用lapply

lapply(vector("list", 10), as.data.frame)

或使用变体

lapply(1:10, function(i) as.data.frame(c()))

replicate

replicate(10, as.data.frame(c()))

如果我们需要一些标识符,那么使用setNames

setNames(replicate(10, as.data.frame(c())), paste0("df", 1:10))

在全局环境中拥有多个对象可能不是一个好主意,但如果打算无论如何都拥有它(我们不推荐),从上面的方法,我们可以用[=18=包裹它]

list2env(setNames(replicate(10, as.data.frame(c())), paste0("df", 1:10)), .GlobalEnv)

您可以使用分配函数来做到这一点。

i = 0
for (i in 1:10){
  assign(paste0("df",i),data.frame())
  }

我发现这更容易,因为我还可以列出我创建的所有名称并将它们用于进一步的操作。