Это трудно сделать воспроизводимым примером, поэтому я извиняюсь заранее.Невозможно использовать оператор @ на объектах s4, хранящихся в списке в R?
У меня есть список под названием mp3List
который содержит wave
объектов. Я генерирую его следующим образом: он заполняет список со 100 волновыми объектами, созданным с помощью readMP3
.
mp3List <- vector("list", 100)
for(i in UrlReadNames)
{
mp3List[which(UrlReadNames == i)]<-readMP3(i)
}
Структура волнового объекта выглядит следующим образом:
> str(ddd)
Formal class 'Wave' [package "tuneR"] with 6 slots
[email protected] left : int [1:14772096] 0 0 0 0 0 0 0 0 0 0 ...
[email protected] right : int [1:14772096] 0 0 0 0 0 0 0 0 0 0 ...
[email protected] stereo : logi TRUE
[email protected] samp.rate: num 44100
[email protected] bit : num 16
[email protected] pcm : logi TRUE
Структура волнового объекта в списке выглядит следующим образом:
> str(mp3List[1])
List of 1
$ :Formal class 'Wave' [package "tuneR"] with 6 slots
.. [email protected] left : int [1:14772096] 0 0 0 0 0 0 0 0 0 0 ...
.. [email protected] right : int [1:14772096] 0 0 0 0 0 0 0 0 0 0 ...
.. [email protected] stereo : logi TRUE
.. [email protected] samp.rate: num 44100
.. [email protected] bit : num 16
.. [email protected] pcm : logi TRUE
Теперь я пытаюсь использовать mp3List[1]@left
для доступа к этой части объекта, но я получаю эту ошибку: Error: Attempting to get a "left" slot from an object of a basic class ("list") without slots
Я хочу использовать @ на этих объектах в списке, чтобы я мог писать для циклов для доступа к каждому волновому объекту в списке без необходимости вытаскивать их по отдельности.
yup, так просто, спасибо за ответ, забыли о структурах списков, я буду принимать, когда мой срок закончился. –