How do I split a data frame based on range of column values in R?

前端 未结 3 1836
隐瞒了意图╮
隐瞒了意图╮ 2021-01-12 22:28

I have a data set like this:

Users   Age
1        2
2        7
3        10
4        3
5        8
6        20

How do I split this data set i

3条回答
  •  感动是毒
    2021-01-12 22:50

    First, here's your dataset for my purposes: foo=data.frame(Users=1:6,Age=c(2,7,10,3,8,20))

    Here's your first dataset with ages 0–5: subset(foo,Age<=5&Age>=0)

      Users Age
    1     1   2
    4     4   3
    

    Here's your second with ages 6–10: subset(foo,Age<=10&Age>=6)

      Users Age
    2     2   7
    3     3  10
    5     5   8
    

    Your third (using subset(foo,Age<=15&Age>=11)) is empty – your last Age observation is over 15.

    Note also that fractional ages between 5 and 6 or 10 and 11 (e.g., 5.1, 10.5) would be excluded, as this code matches your question very literally. If you'd want someone with an age less than 6 to go in the first group, just amend that code to subset(foo,Age<6&Age>=0). If you'd prefer a hypothetical person with Age=5.1 in the second group, that group's code would be subset(foo,Age<=10&Age>5).

提交回复
热议问题