我有来自在线调查的数据,其中受访者经历了一系列5个问题。 我工作的数据如下所示:
P1 P2 P3 P4 P5 P1 P2 P3 P4 P5 P1 P2 P3 P4 P5
1 2 3 4 5 1 2 3 4 5 1 2 3 4 5
6 7 8 9 10 6 7 8 9 10 6 7 8 9 10
所需的输出是:
P1 P2 P3 P4 P5
1 2 3 4 5
6 7 8 9 10
1 2 3 4 5
6 7 8 9 10
1 2 3 4 5
6 7 8 9 10
我一直试图用图书馆tidyr来解决这个问题,但我无法理解如何应用它。 一些建议将非常有用。
答案 0 :(得分:0)
其中一个解决方案可以是:
require(foreach)
require(dplyr)
require(magrittr)
foreach(
unique_name = unique(colnames(df)),
.combine = 'bind_cols'
) %do% {
df[grep(unique_name), colnames(df)] %>%
unlist() %>%
as.data.frame() %>%
set_colnames(., unique_names)
}