【发布时间】:2018-06-21 09:37:15
【问题描述】:
我有一个这样的数据框(有更多行):
id act_l_n pas_l_n act_q_p pas_q_p act_l_p pas_l_p act_q_n pas_q_n
1 14 8 14 10 21 11 21 11
2 19 9 11 17 22 11 20 11
每个列名都包含由“_”分隔的 3 个变量的信息(每个都有 2 个级别,名为 act/pas、l/q、n/p)。值是对应于每个变量组合的分数(即 8 个条件中的 1 个)。
我需要将 3 个变量移动到 3 个单独的列,用数字标记它们的级别,并将相应的值移动到名为“score”的单独列。所以从当前数据帧的第一行我会得到这样的东西:
id score actpas lq pn
1 14 1 1 1
1 8 2 1 1
1 14 1 2 2
1 10 2 2 2
1 21 1 1 2
1 11 2 1 2
1 21 1 2 1
1 11 2 2 1
我尝试使用 dplyr 使用收集和分离功能来解决这个问题,但我无法真正得到我需要的东西。对 dplyr 的帮助将非常受欢迎!
【问题讨论】:
-
您能否编辑问题以使其更易于理解?