如何在数据框中将多个文件名写成一行

How to write multiple filenames as a row in dataframe

我是 R 的新手。我正在尝试将一个函数应用于多个文件并编写一个数据框,其中包括所有文件名作为一列,相应的 "roughness" 结果作为另一列。

library(lidR)
files <- list.files(path= "/allfiles", pattern= "*.laz", full.names = TRUE, recursive = FALSE)

O = lapply(files, function(x)) {

  las = readLAS(x, select = "xyzicnrRGB", filter = "keep_first -drop_z_below 0"),
  chm = grid_canopy(las, 0.2, p2r()),
  roughness <- rumple_index(chm),

  return(roughness)

}

非常感谢任何帮助。

我想你快到了。您可以使用数据框。我没有安装你的文件或库 lidR,所以希望 rumple_index 不会 return 任何太古怪的事情

library(lidR)
files <- list.files(path= "/allfiles", pattern= "*.laz", full.names = TRUE, recursive = FALSE)

O = lapply(files, function(x) {

  las = readLAS(x, select = "xyzicnrRGB", filter = "keep_first -drop_z_below 0")
  chm = grid_canopy(las, 0.2, p2r())
  roughness <- rumple_index(chm)
  return(data.frame(file=x,roughness=roughness))

})
O = do.call(rbind,O)