我想创建 100 个带名称的空数据框
- df1, df2, ...,df100。
每个数据框将有 2 列,其中
- 第 i 个数据框 dfi 的列名称为“yi”和“xi”。例如,df5 的列名称将是 y5 和 x5。
- 第一列是字符,第二列是数字。
我如何使用 R 创建这样的数据框。我将非常乐意提供任何帮助。非常感谢。
最佳答案
我们可以使用 replicate
在列表中创建空的“data.frames”,并使用 Map
更改列名
n <- 100
lst <- replicate(n,data.frame(y=character(), x=numeric(),
stringsAsFactors=FALSE), simplify=FALSE)
names(lst) <- paste0('df', 1:n)
nmy <- paste0('y', 1:n)
nmx <- paste0('x', 1:n)
lst1 <- Map(function(x,y,z) {names(x) <- c(y,z); x}, lst, nmy, nmx)
或者
lst1 <- Map(setNames, lst, as.data.frame(rbind(nmy,nmx)))
str(lst1, list.len=3)
#List of 100
# $ df1 :'data.frame': 0 obs. of 2 variables:
# ..$ y1: chr(0)
# ..$ x1: num(0)
# $ df2 :'data.frame': 0 obs. of 2 variables:
# ..$ y2: chr(0)
# ..$ x2: num(0)
# $ df3 :'data.frame': 0 obs. of 2 variables:
# ..$ y3: chr(0)
# ..$ x3: num(0)
# [list output truncated]
关于R-创建具有名称的多个数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29353613/