【发布时间】:2019-08-12 00:55:08
【问题描述】:
我正在 r 中的大数据框架(超过 48.000.000 行)中进行统计分析。以下是数据示例:
structure(list(herd = c(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3), cows = c(1, 2,
3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 1, 2, 3, 4,
5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 1, 2, 3, 4, 5, 6,
7, 8, 9, 10, 11, 12, 13, 14, 15, 16), `date` = c("11/03/2013",
"12/03/2013", "13/03/2013", "14/03/2013", "15/03/2013", "16/03/2013",
"13/05/2012", "14/05/2012", "15/05/2012", "16/05/2012", "17/05/2012",
"18/05/2012", "10/07/2016", "11/07/2016", "12/07/2016", "13/07/2016",
"11/03/2013", "12/03/2013", "13/03/2013", "14/03/2013", "15/03/2013",
"16/03/2013", "13/05/2012", "14/05/2012", "15/05/2012", "16/05/2012",
"17/05/2012", "18/05/2012", "10/07/2016", "11/07/2016", "12/07/2016",
"13/07/2016", "11/03/2013", "12/03/2013", "13/03/2013", "14/03/2013",
"15/03/2013", "16/03/2013", "13/05/2012", "14/05/2012", "15/05/2012",
"16/05/2012", "17/05/2012", "18/05/2012", "10/07/2016", "11/07/2016",
"12/07/2016", "13/07/2016"), glicose = c(240666, 23457789, 45688688,
679, 76564, 6574553, 78654, 546432, 76455643, 6876, 7645432,
876875, 98654, 453437, 98676, 9887554, 76543, 9775643, 986545,
240666, 23457789, 45688688, 679, 76564, 6574553, 78654, 546432,
76455643, 6876, 7645432, 876875, 98654, 453437, 98676, 9887554,
76543, 9775643, 986545, 240666, 23457789, 45688688, 679, 76564,
6574553, 78654, 546432, 76455643, 6876)), class = c("tbl_df",
"tbl", "data.frame"), row.names = c(NA, -48L))
我需要按牛群和日期确定有多少奶牛属于以下葡萄糖糖类别:
<=100000
100000 and <=150000
150000 and <=200000
200000 and <=250000
250000 and <=400000
>400000
我尝试使用函数filter() 和select(),但无法对变量进行这样的分类。
我尝试为每个类别制作一个向量,但没有成功:
ht <- df %>% group_by(herd, date) %>%
filter(glicose < 100000)
实际上,我不知道如何做到这一点。请帮忙!
我希望根据表格中的每个日期获得每个牛群中每个类别的奶牛数量,如下所示:
【问题讨论】:
-
使用
cut添加包含您想要的分组的列,100000 到 150000、150000 到 200000 等。See this FAQ for examples。然后,您可以group_byherd、date 和您的新列,并使用... %>% count()进行计数 -
不一样的camille,因为我有两个条件可以申请。
-
哪两个条件?使用
cut创建一个分箱变量,然后按日期分组 -
你建议的问题只是想在一个列中计数。我想根据牛群和日期(一种情况)和不同的时间间隔(另一种情况)来计算。抱歉,但我不知道如何用 cut 创建一个 binned 变量,然后按日期和那个 bin 分组,你能告诉我吗?
标签: r select statistics bigdata