我希望将计算四个声学指数(H f、AEI、ACI 和 NDSI)的函数应用于 55 个 60 秒波对象的列表。我找到了将函数应用于 .wav 文件的代码,但是我很难更改代码以适用于列表的每个组件而不是 .wav 文件。
这是我试图计算的代码:
#create function to be applied to list of wave objects
indices <- function(x) {
x <- readWave(x)
return(c(sh(meanspec(x, plot=FALSE)),
acoustic_evenness(x) $aei_left,
ACI(x),
NDSI(soundscapespec(x, plot=FALSE))
)
)
}
# create data frame for indices to be recorded
n <- length(hodsubsamps0820_000000)
num <- rep (NA, n)
res <- data.frame(Hf=num, AEI=num, ACI=num, NDSI=num)
#use function on each list component
for (i in 1:n) res[i,] <- indices(hodsubsamps0820_000000[i])
使用此错误代码:
Error in readWave(x) : 'filename' must be of type character.