【发布时间】:2022-10-23 14:26:47
【问题描述】:
| Group | ExamScore1 | ExamScore2 | ExamScore3 | ExamScore4 |
|---|---|---|---|---|
| A | 68 | 84 | 19 | 95 |
| B | 68 | 83 | 28 | 92 |
| B | 68 | 92 | 38 | 83 |
| C | 78 | 84 | 38 | 94 |
| C | 94 | 85 | 28 | 82 |
| C | 94 | 92 | 38 | 38 |
| B | 48 | 83 | 83 | 38 |
| B | 38 | 19 | 48 | 29 |
| C | 29 | 23 | 91 | 12 |
| A | 48 | 34 | 92 | 39 |
| A | 95 | 58 | 93 | 48 |
上面是一个数据框,df源自更大的数据框 x,其中学生被分成 A、B 或 C 组并进行四次考试。 我想做以下事情:
确定哪个学生在 A 组、B 组和 C 组中分别有异常值测试分数(使用四分位距法)(我已经为此编写了代码)。
df1 <- df %>%
group_by(x.Group) %>%
filter(!x.score %in% boxplot.stats(x.score)$out) %>%
ungroup()
然后,我想删除在2个或更多的考试.例如,如果 A 组中的一名学生在 ExamScore1 和 ExamScore3 中的得分异常,则该学生将从数据框中删除。
删除所有异常值后,我希望将数据放入一个新的数据框中df2
关于如何解决这个问题的任何想法?先感谢您
【问题讨论】:
-
boxplot.stats是什么?另请提供可复制的表格或您的数据,而不是屏幕截图。如果您希望人们更快地帮助您,请运行dput(df)并将其粘贴到您的问题中。
标签: r