在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())
}
我发现这更容易,因为我还可以列出我创建的所有名称并将它们用于进一步的操作。
我正在创建一个类型为 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())
}
我发现这更容易,因为我还可以列出我创建的所有名称并将它们用于进一步的操作。