假设我在 R 中有一个数据框,在一个列中有学生的姓名,在另一列中有他们的分数。这些标记的范围是20到100。
> mydata
id name marks gender
1 a1 56 female
2 a2 37 male
我想根据获得分数的标准将学生分为几组,以便每组分数之间的差异应大于10。我尝试使用功能表,该函数表给出了每个范围内的学生人数。 20-30、30-40,但我希望它挑选那些在给定范围内有分数的学生,并将他们所有的信息归为一组。任何帮助表示赞赏。
最佳答案
我不确定“将所有信息集中在一起”是什么意思,但是这是一种获取列表的方法,该列表的数据框是原始数据框的分割,其中每个元素都是一个学生在一个标记内的数据框范围10:
mydata <- data.frame(
id = 1:100,
name = paste0("a",1:100),
marks = sample(20:100,100,TRUE),
gender = sample(c("female","male"),100,TRUE))
split(mydata,cut(mydata$marks,seq(20,100,by=10)))
关于r - 将数据分组到R中的范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12315374/