我在R中有一个涉及学生和GPA的数据集
Student GPA
Jim 3.00
Tom 3.29
Ana 3.99
Run Code Online (Sandbox Code Playgroud)
等等.
我想要一个将它们放入垃圾箱的列.例如
Student GPASplit
Jim 3.0-3.5
Tom 3.0-3.5
Ana 3.5-4.0
Run Code Online (Sandbox Code Playgroud)
因为当我尝试获取GPA的统计数据时,所有垃圾箱都会根据实际GPA进行分离.例如,我试图找到有多少学生高于3.5,GPA在3.0-3.5之间的百分比,等等.但是我得到了实际GPA的百分比,当你有4000个数据点都有不同的GPA时,很难弄清楚有多少GPA高于3.5等等?这有意义吗?对不起,如果没有.
您可以使用该cut()
功能将数据拆分为您定义的箱柜.你必须要小心那些完全落在边界上的价值观,并确保他们得到你想要的对待.使用您的示例数据:
> df$GPA_split = cut(df$GPA, breaks = c(3.0, 3.5, 4.0), include.lowest = TRUE)
> df
Student GPA GPA_split
1 Jim 3.00 [3,3.5]
2 Tom 3.29 [3,3.5]
3 Ana 3.99 (3.5,4]
# Count values in each bin
> table(df$GPA_split)
[3,3.5] (3.5,4]
2 1
Run Code Online (Sandbox Code Playgroud)