R-创建具有名称的多个数据框

标签 r

我想创建 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/

相关文章:

r - 这是一个什么样的对象,响应式(Reactive)的?

r - 从杂乱的字符列表到 R 中的矩阵

带圆括号的 R Markdown 和 Latex 格式引用

R:将 ConceptNet5 语法解析为数据帧

r - 将函数列表应用于值向量

r - 检查条件并返回满足条件的列的名称

r - 没有数据矩阵,nbclust 不起作用

从 r 中的列表中删除重复集

r - 从管道分隔数字列表中获取模式

r - 加速大型数据帧中的 3 列 R 搜索