在R中汇总数据并添加不同的变异
在数据清理之后,我想最后总结一下我的数据 以下是我的数据结构:在R中汇总数据并添加不同的变异,r,dataframe,mutate,summary,R,Dataframe,Mutate,Summary,在数据清理之后,我想最后总结一下我的数据 以下是我的数据结构: structure(list(ID = structure(c(1L, 3L, 4L, 2L, 2L, 3L, 3L, 3L, 3L, 4L, 4L, 4L, 5L, 6L, 6L, 6L, 6L, 6L, 6L, 6L), .Label = c("01002", "01004", "01005", "01006", "01009"
structure(list(ID = structure(c(1L, 3L, 4L, 2L, 2L, 3L, 3L, 3L,
3L, 4L, 4L, 4L, 5L, 6L, 6L, 6L, 6L, 6L, 6L, 6L), .Label = c("01002",
"01004", "01005", "01006", "01009", "01011"), class = "factor"),
date = structure(c(17645, 17645, 17645, 17646, 17646, 17646,
17646, 17646, 17646, 17646, 17648, 17646, 17648, 17646, 17648,
17646, 17646, 17646, 17649, 17646), class = "Date"), category = structure(c(1L,
1L, 1L, 2L, 4L, 7L, 3L, 3L, 1L, 6L, 6L, 6L, 7L, 7L, 7L, 6L,
2L, 5L, 3L, 3L), .Label = c("A", "B", "C", "D", "F", "G",
"Q"), class = "factor"), level = c(3000, 3000, 1000, 1000,
1000, 9999, 9999, 9999, 9999, 9999, 9999, 9999, 8000, 9999,
9999, 9999, 300, 300, 300, 9999)), class = "data.frame", row.names = c(NA,
-20L))
以下是我目前掌握的代码:
dataDF %>%
dplyr::group_by(category) %>%
dplyr::summarize(n = n()) %>%
dplyr::mutate(percentage = (prop.table(n))*100) %>%
arrange(desc(n))
结果如下:
category n percentage
<fct> <int> <dbl>
1 A 4 20
2 C 4 20
3 G 4 20
4 Q 4 20
5 B 2 10
6 D 1 5
7 F 1 5
n类百分比
1 A 4 20
2 C 4 20
3 G 4 20
4问4 20
5B210
6 D 1 5
7楼15楼
现在我想添加一个新列,其中包含日期的聚合
我需要为每个类别添加每个ID的平均计数日期
下面是数据应该是什么样子(随机数,不是计算出来的)
n类每个ID报告的平均天数百分比
1 A 4 20 2
2 C 4 20 3.4
3 G 4 20 4
4问4201
5B2103.5
6 D 1 5 2
7 F 1 5 1.1
我不知道如何才能做到这一点。我尝试添加另一个mutate(),计算每个ID的平均天数,并将其(使用另一个group by)添加到数据表中
谢谢你的帮助 您想要每个类别每个ID的平均唯一日期吗 您只需分组并总结两次:
require(dplyr)
数据分布%>%
分组依据(ID,类别)%>%
摘要(不同日期=n_不同(日期))%>%
组别(类别)%>%
总结(平均值(偏差))
#类别`平均值(偏差)`
#
#1 A 1.33
#2 B 1
#3 C 1
#4d1
#5f1
#6G1
#7问题1
如果您想将这些值加入到您现有的DF中,只需这样做
left\u join(your.existing.df,this.new.df,by=“category”)
是的,我想要每个类别每个ID的平均唯一日期。我要试试看!谢谢。
category n percentage mean_reported_days_per_ID
<fct> <int> <dbl> <int>
1 A 4 20 2
2 C 4 20 3.4
3 G 4 20 4
4 Q 4 20 1
5 B 2 10 3.5
6 D 1 5 2
7 F 1 5 1.1