我有一个包含5列的时间序列数据。第一列是用户名,其余是不同时间点的值。此处显示的示例数据- https://pastebin.com/raw/TzmhKybt
我希望保留任何给定用户的前3个值,并删除其余的值。因此,对于每个给定的用户,数据集中最多有3条记录。我已经尝试了以下方法,但似乎不起作用。请给我指出正确的方向,因为我找不到任何好的方法。data %>% group_by(User) %>% top_n(3)
dput(data[1:10,])
的输出是
structure(list(User = c("mmcclafl", "mmcclafl", "mmcclafl", "mmcclafl",
"mmcclafl", "mmcclafl", "gsnabwez", "gsnabwez", "gsnabwez", "gsnabwez"
), StartTime = c(584.93, 584.93, 584.93, 584.93, 584.93, 584.93,
1501.26, 1501.26, 1501.26, 1501.26), Time = c(597.94, 675.28,
774.02, 843.05, 1093.79, 1142.85, 1510.94, 1582.81, 1665.26,
1689.91), SelfReport = c("FLOW", "FLOW", "FLOW", "FRUSTRATION",
"FRUSTRATION", "FRUSTRATION", "FLOW", "FRUSTRATION", "FRUSTRATION",
"FRUSTRATION"), Affectiva = c("BOREDOM", "BOREDOM", "BOREDOM",
"BOREDOM", "BOREDOM", "BOREDOM", "BOREDOM", "BOREDOM", "OTHER",
"BOREDOM")), row.names = c(1L, 2L, 3L, 4L, 5L, 6L, 8L, 9L, 10L,
11L), class = "data.frame")
转载请注明出处:http://www.fdzxgo.com/article/20230526/2179186.html