use*_*614 -2 r reshape dataframe
我有一个像这样组织的data.frame:
id question input
1 11 1 6
2 12 1 7
3 13 1 5
4 14 2 5
5 15 2 6
6 16 3 4
7 17 4 5
8 18 4 5
9 19 4 4
10 20 5 3
Run Code Online (Sandbox Code Playgroud)
我需要将"问题"列变成一系列列(一个用于问题1,一个用于问题2,等等),这没关系 - 我已经在网上找到了答案.
但是,我还需要使用'input'中的相应值填充这些新列,因此生成的data.frame如下所示:
id question input q1 q2 q3 q4 q5
1 11 1 6 6 NA NA NA NA
2 12 1 7 7 NA NA NA NA
3 13 1 5 5 NA NA NA NA
4 14 2 5 NA 5 NA NA NA
5 15 2 6 NA 6 NA NA NA
6 16 3 4 NA NA 4 NA NA
7 17 4 5 NA NA NA 5 NA
8 18 4 5 NA NA NA 5 NA
9 19 4 4 NA NA NA 4 NA
10 30 5 3 NA NA NA NA 3
Run Code Online (Sandbox Code Playgroud)
从开始到结束,我将如何重塑这样的数据?我还是一个非常初学者,非常感谢任何帮助!
您可以使用dcast"reshape2"包,如下所示:
dcast(mydf, id + question + input ~ question, value.var = "input")
# id question input 1 2 3 4 5
# 1 11 1 6 6 NA NA NA NA
# 2 12 1 7 7 NA NA NA NA
# 3 13 1 5 5 NA NA NA NA
# 4 14 2 5 NA 5 NA NA NA
# 5 15 2 6 NA 6 NA NA NA
# 6 16 3 4 NA NA 4 NA NA
# 7 17 4 5 NA NA NA 5 NA
# 8 18 4 5 NA NA NA 5 NA
# 9 19 4 4 NA NA NA 4 NA
# 10 20 5 3 NA NA NA NA 3
Run Code Online (Sandbox Code Playgroud)