【发布时间】:2020-05-20 15:21:53
【问题描述】:
我们可以使用如下数据框为例:
Case <- c("Siddhartha", "Siddhartha", "Siddhartha", "Paul", "Paul", "Paul", "Hannah")
Procedure <- c("1", "1", "2", "3", "3", "4", "1")
Location <- c("a", "a", "b", "a", "a", "b", "c")
(df <- data.frame(Case, Procedure, Location))
Case Procedure Location
1 Siddhartha 1 a
2 Siddhartha 1 a
3 Siddhartha 2 b
4 Paul 3 a
5 Paul 3 a
6 Paul 4 b
7 Hannah 1 c
现在我执行以下操作:
df %>%
count(Location, Procedure) %>%
pivot_wider(names_from = Location, values_from = n, values_fill = list(n = 0))
这给了我:
# A tibble: 4 x 4
Procedure a b c
<fct> <int> <int> <int>
1 1 2 0 1
2 3 2 0 0
3 2 0 1 0
4 4 0 1 0
这不完全是我想要的。我想要的是以下数据框:
# A tibble: 4 x 4
Procedure a b c
<fct> <int> <int> <int>
1 1 1 0 1
2 3 1 0 0
3 2 0 1 0
4 4 0 1 0
注意程序 1 和 3 的区别。
所以我想要一个函数,它计算每个过程和每个位置的 DISTINCT 案例的数量。此外,该功能应该适用于不同的数据帧,其中存在不同(未知)的案例和过程。
问候
【问题讨论】:
-
统计时数据是否应该按
Case分组?例如。如果我用 (Hannah, 1, a) 添加第 8 行,预期的输出会改变吗?
标签: r