是否可以对数据进行分组并获取间隔? 例如,我有一个这样的数据(实际上,我有更长的数据):
score class
2,100 1
8,600 3
2,600 1
5,200 2
92,900 7
10,500 3
37,500 5
所以我想按班级分组,这样可以向我显示数据间隔,例如:
class interval
1 0.1-4.3
2 4.4-7.3 etc
在此先感谢您的帮助!
答案 0 :(得分:1)
我无法复制您建议的结果,但是根据我建议的文字:
library(dplyr)
data %>%
group_by(class) %>%
summarise(range = paste0(min(score), " - ", max(score)))
输出为:
# A tibble: 5 x 2
class range
<int> <chr>
1 1 2100 - 2600
2 2 5200 - 5200
3 3 8600 - 10500
4 5 37500 - 37500
5 7 92900 - 92900
答案 1 :(得分:0)
当然,您可以在score
内获得class
的范围。
set.seed(357)
xy <- data.frame(score = runif(10), class = sample(1:3, size = 10, replace = TRUE))
xy
aggregate(score ~ class, FUN = range, data = xy)
class score.1 score.2
1 1 0.22486212 0.93373648
2 2 0.05504568 0.99134086
3 3 0.74745869 0.77839970
也许
aggregate(score ~ class, data = xy, FUN = function(x) {
paste(round(range(x), 3), collapse = " - ")
})
class score
1 1 0.225 - 0.934
2 2 0.055 - 0.991
3 3 0.747 - 0.778