我在将复杂的数据库输出从宽格式转换为长格式时遇到了麻烦。它有几百行和约 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 列编码对我来说就像一场噩梦。