R group by |计数由另一列分组的不同值
如何计算每个页面名的不同访问ID数R group by |计数由另一列分组的不同值,r,R,如何计算每个页面名的不同访问ID数 visit_id post_pagename 1 A 1 B 1 C 1 D 2 A 2 A 3 A 3 B 结果应该是: post_pagename distinct_visit_ids A 3 B 2 C 1 D 1 试过了吗 test_df<-data.frame(cbind(c(1,1,1,1,2,2,3,3),
visit_id post_pagename
1 A
1 B
1 C
1 D
2 A
2 A
3 A
3 B
结果应该是:
post_pagename distinct_visit_ids
A 3
B 2
C 1
D 1
试过了吗
test_df<-data.frame(cbind(c(1,1,1,1,2,2,3,3),c("A","B","C","D","A","A","A","B")))
colnames(test_df)<-c("visit_id","post_pagename")
test_df
test_df %>%
group_by(post_pagename) %>%
summarize(vis_count = n_distinct(visit_id))
test\u df%
汇总(vis_count=n_distinct(就诊id))
但是这只提供了我的数据集中不同的访问id的数量。函数
n\u distinct()
将提供数据中不同行的数量,因为您有两行是“2A”,您应该只使用n()
,这将计算分组变量出现的次数
test_df<-data.frame(cbind(c(1,1,1,1,2,2,3,3),c("A","B","C","D","A","A","A","B")))
colnames(test_df)<-c("visit_id","post_pagename")
test_df
test_df %>%
unique() %>%
group_by(post_pagename) %>%
summarize(vis_count = n())
test\u df%
分组人(post\u pagename)%>%
汇总(vis_count=n())
这应该行得通
希望有帮助:)单向
test_df%>%
不同的()%>%
计数(post_pagename)
#post_pagename n
#
#1 A 3
#2 B 2
#3 C 1
#4d1
还是别的
test_df%>%
分组人(post\u pagename)%>%
总结(不同的访问id=n不同的访问id)
#一个tibble:4x2
#post\u pagename distinct\u访问\u ID
#
#1 A 3
#2 B 2
#3 C 1
#4d1
*D有一次来访,所以必须计算在内*
为什么D未包含在预期结果中。“不同数量”和“不同数量”的区别是什么?苏利门,数量和数量是相同的。是的,可能有D=0,但对我来说没有必要,如果从visit\u id
1
访问D
,怎么可能是D==0
?好的,对不起,我错了。我将在我的问题帖子中更正它。我得到一个错误:Fehler:不应直接调用此函数try dplyr::summary(vis_count=n())这意味着您希望从dplyr包中调用summary函数。你可以在这里看到更多关于这个错误的信息Giovana:我添加了:dplyr::summary和no error occours。但结果并不正确。请与我的问题帖子中的结果进行比较;您的查询只是计算每个pagename元素的数量。4xA、2xB、1xC、1xD可能取决于版本。我在我的机器上得到了dplyr 0.7.4。乌图邦:我得到了0.7.5我得到了一行,结果是不同的访问ID=3我不知道为什么在我和你的情况下它的行为不同。
test_df %>%
distinct() %>%
count(post_pagename)
# post_pagename n
# <fct> <int>
# 1 A 3
# 2 B 2
# 3 C 1
# 4 D 1
test_df %>%
group_by(post_pagename) %>%
summarise(distinct_visit_ids = n_distinct(visit_id))
# A tibble: 4 x 2
# post_pagename distinct_visit_ids
# <fct> <int>
#1 A 3
#2 B 2
#3 C 1
#4 D 1
*D has one visit, so it must be counted*