0
これは再現可能な例を作るのが難しいので、私は前もってごめんなさい。Rのリストに格納されているs4オブジェクトで@演算子を使用できませんか?
オブジェクトを含むmp3List
というリストがあります。私はこれを次のように生成します:readMP3
で生成された100個のwaveオブジェクトをリストに入れます。
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
リスト内のこれらのオブジェクトに@を使用したいので、リスト内のすべてのwaveオブジェクトにアクセスするためのループを作成して、個々に個別に取り出す必要はありません。
ええ、答えがありがたいです、リスト構造を忘れてしまったので、期限が切れても受け入れます。 –