こんにちは。今回もよろしくお願いいたします。
前提・実現したいこと
List<string[]>型のリスト"filetredMultiGroupF"から、クロス集計をとりたいと思っています。
変数"result1"でグループ化した選択肢番号をもとに
変数"result2"にChoise,Countの並びでリスト化したいです。
発生している問題・エラーメッセージ
変数"tmp"にて各選択肢番号ごとに抽出することはできたのですが、これをresult2に入れる際に
型の違いから格納することができません。
正しく格納する方法を教えてください。
該当のソースコード
C#
1 List<string[]> result2 = new List<string[]>(); 2 3 var result1 = filetredMultiGroupF.GroupBy(x => x[0] ).Select(x => x.Key).OrderBy(x => x); 4 foreach(var item in result1) 5 { 6 var tmp = filetredMultiGroupF.Where(x => x[1] == item) 7 .GroupBy(x => x[1]) 8 .Select(x => new { Choise = x.Key, Count = x.Count() }) 9 .OrderBy(x => x.Choise); 10 11 // result2.AddRange(???) 12 13 }
補足情報(入力・出力)
filetredMultiGroupFの中身は下表です。
プログラムでは1列目の回答と2列目の回答をクロス集計します。
列1 | 列2 | 列3・・・ |
---|---|---|
1 | 2 | ... |
1 | 1 | ... |
2 | 2 | ... |
2 | 1 | ... |
2 | 2 | ... |
1 | 3 | ... |
1 | 3 | ... |
クロス集計の結果としては、result2に下記のような形で格納します
1,1 ※列1で"1"を選択 且つ 列2で"1"を選択した人のカウント
2,1 ※列1で"1"を選択 且つ 列2で"2"を選択した人のカウント
3,2 ※列1で"1"を選択 且つ 列2で"3"を選択した人のカウント
1,1 ※列1で"2"を選択 且つ 列2で"1"を選択した人のカウント
2,2 ※列1で"2"を選択 且つ 列2で"2"を選択した人のカウント
回答1件
あなたの回答
tips
プレビュー