平滑 R 中的一系列分类数据

Smooth a sequence of Categorical Data in R

我的数据集中的一列是 "Movement_Stats",它包含 "forward"、"backward" 和 "Stop"。每行代表一个图像帧。所以这一列看起来像:"forward, forward, forward, backward, forward, forward..."。我想按规则平滑此列的分类值:

  1. 对于每一行,检查它的前 5 行和后 5 行(它的邻居)
  2. 通过其邻居的多数票重新分配该行的值

我没有找到任何可以在 R 中使用的包。

您可以将包 zoo 中的 rollapplytable:

一起使用
mov <- c("forward", "backward", "stop")
s <- sample(mov, 1000, replace = TRUE)

zoo::rollapply(s,11, function(x) names(which.max(table(x))))