如何通过R中的for循环将两个系列的数组绑定到一个数据帧中

How to cbind two series of array in to one dataframe by for loop in R

我有两个数组系列,pan1,pqn2,pn30 和 read1,read2,read30,我想将它们绑定到一个数据帧中,列名如 pan1,read1,pan2,read2,pan30 ,通过R中的for循环读取30,我该怎么办?这是我的尝试,但不起作用

pan <- objects(pattern='^pan[0-9]+$')
read <- objects(pattern = '^read[0-9]+$')
for (i in 1:30) {
       for (j in 1:30) {
            if (i==j) {
                  panread <- cbind(pan[i],read[j]) 
        }
       }
      }

一个基于 R 的解决方案:

生成 objects 名称的向量,观察模式 pan1、read1、...、pan30、read30

objects_to_bundle <- as.vector(matrix(c(objects(pattern = '^pan*'),
                                        objects(pattern = '^read*')
                                        ),,2, byrow = TRUE
                               )
                     )

通过lapply获取对象列表如下: get objects by object name,将其转换为命名的 structure (列表)和 return 此列表 as.data.frame (无论如何这是一个矩形列列表):

as.data.frame(structure(.Data = lapply(objects_to_bundle,
                                       function(n) as.vector(get(n))
                                       ),
                        .Names = objects_to_bundle
                        )
              )