使用 lapply 函数更改输出的外观

changing the appearance of output using lapply function

我在下面的代码中使用了 lapply 函数。

library(bio3d)
files <- list.files('/home/sanvi/Desktop/folder', '.*\.pdb$', full.names=TRUE)
rgs <- lapply(files, function(x) {
    data <- read.pdb(x)
    mass <- rep(12, length(data$xyz)/3)
    rgyr(data, mass)
})
rgs

[[1]]
[1] 32.56132

[[2]]
[1] 11.83162

我想得到如下所示的输出。

filename1.pdb    32.56132
filename2.pdb    11.83162

有没有办法得到如上图所示的输出?

用'files'的basename命名list('rgs')后,我们可以用stack。这将输出两列 'data.frame'

stack(setNames(rgs, basename(files)))
#            ind   values
#1 filename1.pdb 32.56132
#2 filename2.pdb 11.83162

数据

rgs <- list(32.56132, 11.83162)
files <- paste("/home/sanvi/Desktop/folder", 
     c("filename1.pdb", "filename2.pdb"), sep="/")