检查column1中的数据是否位于某个范围内并在第2列中添加数据

时间:2017-02-02 08:54:46

标签: r dataframe

我在R中有一个包含2列的数据框。我想检查第一列中的数据是否位于以下范围内:x> 80,70

count1
   Var1    Freq
1  0.00000   7
2  10.00000  1
3  16.66667  1
4  30.95238  1
5  33.33333  2

数据框总共包含32行,第1列中的值范围为0到100。 输出应该是这样的:

    Var1      Freq
1   x<60      12
2   60<x<70   *something*
3   70<x<80   *something*
4   x>80      *something*

1 个答案:

答案 0 :(得分:2)

使用datatable

df是您的数据框:

breaks <- c(0,60,70,80,Inf)
setDT(df)
df[,list(SUM = sum(freq)),by = list(VAR=cut(var1,breaks = breaks))][order(VAR)]

使用dplyr库:

 df %>% 
     group_by(VAR = cut(var1, breaks = breaks)) %>% 
     summarise(SUM = sum(freq)) %>%
     arrange(VAR)