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

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

댓글을 달려면 로그인하십시오.

답변 (0개)

카테고리

Help CenterFile Exchange에서 Simulink에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!