我对R是新手。我试图对几个文件应用一个函数,并编写一个数据文件,其中包括所有的文件名作为一列,相应的“粗糙”结果作为另一列。
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)
}任何帮助都很感激。
发布于 2019-10-29 09:08:44
我想你快到了。你可以使用数据格式。我没有安装您的文件或库lidR,所以希望rumple_index不会返回任何太疯狂的东西
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)https://stackoverflow.com/questions/58604168
复制相似问题