複雑なデータベース出力をワイド形式からロング形式に変換する際に問題があります。数百の行と約 1,000 の列があります。次のようになります。
問題は、df1_long の変数または df1_wide の列に、選択したい情報が含まれていることです。だから私はむしろこのようなものを持ちたいです:
ID part task subgroup type result
Ind_A a 12 aa 2 yes
Ind_A a 12 bb 2 yes
Ind_A b 12 aa 3 opt_1
Ind_A b 13 aa 4 100
Ind_B a 12 aa 2 no
Ind_B a 12 bb 2 yes
Ind_B b 12 aa 3 opt_2
Ind_B b 13 aa 4 50
Ind_C a 12 aa 2 no
Ind_C a 12 bb 2 no
Ind_C b 12 aa 3 opt_1
Ind_C b 13 aa 4 200
数値/結果が文字に変換されることは気にしません。
stack() または reshape() 関数でそれを達成する簡単な方法はありますか? または、列名に対していくつかの strsplits コマンドを実行して関連情報を抽出し、それらを別の新しい列に格納する関数をコーディングする必要がありますか。
長い形式は、操作がはるかに簡単で、データセットに質問するのがはるかに簡単です。これらの不可解な列名を持つ 1000 を超える列に対して何かをコーディングすることは、私には悪夢のように見えます。