【发布时间】:2021-07-14 07:57:46
【问题描述】:
假设我有以下data.frame。学生最多可以尝试 3 次测验。
df <- data.frame(id = c(1, 1, 2, 3, 3, 3), points = c(3, 4, 5, 2, 6, 8), value = c(5, 5, 6, 8, 6, 2))
df
#> student points time
#> 1 1 3 5
#> 2 1 4 5
#> 3 2 5 6
#> 4 3 2 8
#> 5 3 6 6
#> 6 3 8 2
现在我希望 data.frame 看起来像这样
#> id points-a time-a points-b time-b points-c time-c
#> 1 3 5 4 5 NA NA
#> 2 5 6 NA NA NA NA
#> 3 2 8 6 6 8 2
每个学生只有一行,列中有不同的点和时间。 我怎样才能做到这一点?
【问题讨论】:
-
问题是我在这个问题中没有像变量
numbers这样的变量,我可以使用它来进行整形。我的数据比我的示例中的要多得多,每个学生的尝试次数也不同,所以有时一个特定学生只有一行,有时有 4 行。我相信这可能很容易解决,但是我对 R 很陌生。