私はRにはかなり新しく、データのウェーブレット関数から出力を取得しようとしています。私のデータは、[152,90]、90の変数から152の時点で構成されています。私は各時系列(列)をウェーブレットに変換したいと思います。私は1 timeseriesのウェーブレットを得ることができ、列をループし、異なる変数で必要な4つの異なる出力を得ることを試みました。ウェーブレット関数の出力からさまざまな変数を取得するR
data <- read.table(data.txt,sep = "\t")
rois <- seq(1,90,by = 1)
for (i in 1:length(rois)) {
a <- data[,i]
b <- wavMODWT(a, wavelet = "s14", n.levels = 4)
data1.d1[i] <- b$data$d1
data1.d2[i] <- b$data$d2
data1.d3[i] <- b$data$d3
data1.d4[i] <- b$data$d4
}
私はこれが私にwavMODT機能からそれぞれ「D」の出力のための152×90のマトリックス/データフレームを与えるだろうと期待していました。私は "data1 [i]のエラーを取得する< - b $ data $ d1:オブジェクト 'data1'が見つかりません。空リストを作成しようとしましたが、別のエラーが発生しました。"置き換える項目の数は、 」。
また、これは私が複数の列の上に関数を適用しようとしていますので、適用されます()関数を使用するには良い時間でしょう?
任意の助けいただければ幸いです。 は
ありがとう編集:ここに私のサンプルデータです。この関数は、列V1を入力とし、同じ長さの4つの列ベクトルを出力します(b $データ$ 1からb $データ$ 4)。wavMODWT関数はwmtsa
V1 V2 V3 V4 V5 V6
1 1321.837 1353.712 1250.450 1183.120 1263.095 1298.410
2 1327.204 1360.711 1249.475 1181.297 1266.686 1294.568
3 1328.402 1362.084 1249.310 1177.071 1271.967 1295.823
4 1327.890 1366.335 1248.203 1173.392 1273.039 1295.118
5 1327.157 1370.059 1252.110 1177.771 1274.428 1300.177
6 1329.278 1370.950 1250.477 1177.238 1277.021 1294.408
7 1330.106 1363.459 1247.602 1176.267 1272.182 1296.256
8 1327.378 1364.607 1248.047 1178.523 1271.818 1293.098
9 1327.867 1363.442 1245.530 1175.825 1268.713 1295.788
さらに、私は211の被験者があり、それぞれ90の変数から152の時点を有する。 forループなしですべてのサブジェクトからウェーブレット出力を取得するためのショートカットはありますか? – dj20
データの再現性のある小さな例を提供できますか?あなたの質問にもっと簡単に答えることができます。 – BLT
@BLTにお返事ありがとうございます。私は主な質問を編集して私のデータのサンプルを含めました。 – dj20