【发布时间】:2021-08-12 19:57:48
【问题描述】:
我有以下数据框“饮食”:
ID Food.group grams day weight
A 12 200 1 60
A 13 300 1 60
A 14 100 1 60
A 15 50 1 60
A 16 200 1 60
A 17 250 1 60
B 13 300 2 73
B 14 140 2 73
B 15 345 2 73
B 17 350 2 73
C 12 120 6 66
C 13 100 6 66
C 16 200 6 66
我需要创建一个新的数据框,其中每个食物组作为一个新列,以克为单位的值作为它们的值,所有这些都按 ID 组织。其他列具有每个 ID 的唯一值,并且可以成为一行。像这样的:
ID 12 13 14 15 16 17 day weight
A 200 300 100 50 200 250 1 60
B N/A 300 140 345 N/A 350 2 73
C 120 100 N/A N/A 200 N/A 6 66
我尝试使用Diet2 <- reshape(Diet, idvar="ID", timevar="Food.group", direction="wide")
但我明白了:
ID 12.grams 12.day 12.weight 13.grams 13.day 13.weight
A 200 1 60 300 1 60
B N/A N/A N/A 300 2 73
C 120 6 66 100 6 66
等等。如何获得正确的数据框形状?
【问题讨论】: