Tah*_*nee 0 r similarity subset dataframe
我有一个看起来像这样但更大的 df :
values <- c(22,16,23,15,14.5,19)
groups <- rep(c("a","b"), each = 3)
df <- data.frame(groups, values)
Run Code Online (Sandbox Code Playgroud)
我每组有 1-3 个值(在示例中,a 组有 3 个值,b 组有 3 个值)。我现在想从每组中排除最不同的值。在此示例中,我想排除 a 16 和 b 19。
感谢您的帮助!
如果您正在寻找要丢弃的一个值,则可以删除与每组平均值距离最大的观测值:
\ndf %>% \n group_by(groups) %>% \n mutate(dist = abs(values - mean(values))) %>% \n filter(dist != max(dist))\n\n# A tibble: 4 \xc3\x97 3\n# Groups: groups [2]\n groups values dist\n <chr> <dbl> <dbl>\n1 a 22 1.67\n2 a 23 2.67\n3 b 15 1.17\n4 b 14.5 1.67\nRun Code Online (Sandbox Code Playgroud)\n