Сбой R при использовании цикла for с пакетом tuneR для получения длины аудиофайлов
Первый вопрос здесь, надеюсь, я правильно спросил.
Я пытаюсь написать небольшой фрагмент кода R, который создаст вектор с длинами всех аудиофайлов в моей папке "Музыка". Я использую RStudio 0.98.501 с R 3.0.3 на i686-pc-linux-gnu (32-разрядная версия). Я использую пакет tuneR для извлечения информации о продолжительности песен. Вот проблема: я экспортирую первый MP3-файл нормально, но когда я делаю это во второй MP3-файл, он выдает "R-сеанс прерван, R обнаружил фатальную ошибку, сеанс будет прерван".
Я работаю над процессором Intel® Atom™ N2800 @ 1,86 ГГц × 4 с 2 Гб памяти с Ubuntu 13.10.
Я поместил свой код ниже, просто измените каталог на тот, где находится ваша папка Music.
library(tuneR)
# Set your working directory here
ddpath <- "/home/daniel/"
wdpath <- ddpath
setwd(wdpath)
# Create a character vector with all filenames
filenames <- list.files("Music", pattern="*.mp3",
full.names=TRUE, recursive=TRUE)
# How many audio files do we have?
numTracks <- length(filenames)
# Vector to store lengths
lengthVector <- numeric(0)
# Here problem arises
for (i in 1:numTracks){
numWave <- readMP3(filenames[i])
lengthSec <- length(numWave@left)/numWave@samp.rate
lengthVector <- c(lengthVector, lengthSec)
rm(numWave)
}