如何使用if语句分割数据?

dau*_*ay8 0 r

我在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等等?这有意义吗?对不起,如果没有.

Mar*_*ius 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)