指定した区間内におけ​る特定の数字がある行​の列部分を足す方法に​ついて

11 vues (au cours des 30 derniers jours)
Masashige Tayasu
Masashige Tayasu le 7 Jan 2020
上図のようなデータセットにおいて,Vername "V”の数字毎にVername ”H”の数字の和を算出したいと考えています.
範囲はVername "Length”の数字が出てくるまでです.
例としては,Vが7の時のHを足したもの,Vが0の時のHを足したもので別々に出力されるようにしたいです.
端的に言うと,指定した範囲で条件を満たす行のインデックスを抽出し,その和を算出したいと考えています.
  2 commentaires
Akira Agata
Akira Agata le 8 Jan 2020
Modifié(e) : Akira Agata le 8 Jan 2020
データセットがテーブル型変数Tと想定すると、以下の手順で算出できそうですがいかがでしょうか?
Step.1:
>>idx = strlength(T.Length) == 0;
>>T = T(idx,:);
として、変数名="Length" がカラの行だけを抽出
Step.2:
findgroups 関数で、変数名Vの値ごとにグループ番号を付与
Step.3:
splitapply 関数で、グループ毎に変数名Hの数字の総和を算出
Masashige Tayasu
Masashige Tayasu le 9 Jan 2020
本データ数が膨大で,変数名="Length"の数字が出てくる範囲がいくつかあり,それぞれの区間ごとで,グループ番号毎の総和を算出したいのですが,その場合はどうすればよいのでしょうか.

Connectez-vous pour commenter.

Réponses (0)

Catégories

En savoir plus sur Simulink dans Help Center et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!