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

10 views (last 30 days)
Masashige Tayasu
Masashige Tayasu on 7 Jan 2020
上図のようなデータセットにおいて,Vername "V”の数字毎にVername ”H”の数字の和を算出したいと考えています.
範囲はVername "Length”の数字が出てくるまでです.
例としては,Vが7の時のHを足したもの,Vが0の時のHを足したもので別々に出力されるようにしたいです.
端的に言うと,指定した範囲で条件を満たす行のインデックスを抽出し,その和を算出したいと考えています.
  2 Comments
Akira Agata
Akira Agata on 8 Jan 2020
Edited: Akira Agata on 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 on 9 Jan 2020
本データ数が膨大で,変数名="Length"の数字が出てくる範囲がいくつかあり,それぞれの区間ごとで,グループ番号毎の総和を算出したいのですが,その場合はどうすればよいのでしょうか.

Sign in to comment.

Answers (0)

Community Treasure Hunt

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

Start Hunting!