我有一个非常简单的 tibble,我想迭代它的行以应用函数pmap
功能。我想我可能误解了一些观点pmap
函数,但我大多很难选择参数。所以
我想知道我是否应该使用rowwise
在这种情况下函数pmap
或不。不过我还没见过案例。
另一个问题是使用列表或迭代来选择变量select
功能:
# Here is my tibble
# Imagine I would like to apply a `n_distinct` function with pmap on it every rows
df <- tibble(id = c("01", "02", "03","04","05","06"),
A = c("Jan", "Mar", "Jan","Jan","Jan","Mar"),
B = c("Feb", "Mar", "Jan","Jan","Mar","Mar"),
C = c("Feb", "Mar", "Feb","Jan","Feb","Feb")
)
# It is perfectly achievable with `rowwise` and `mutate` and results in my desired output
df %>%
rowwise() %>%
mutate(overal = n_distinct(c_across(A:C)))
# A tibble: 6 x 5
# Rowwise:
id A B C overal
<chr> <chr> <chr> <chr> <int>
1 01 Jan Feb Feb 2
2 02 Mar Mar Mar 1
3 03 Jan Jan Feb 2
4 04 Jan Jan Jan 1
5 05 Jan Mar Feb 3
6 06 Mar Mar Feb 2
# But with `pmap` it won't.
df %>%
select(-id) %>%
mutate(overal = pmap_dbl(list(A, B, C), n_distinct))
# A tibble: 6 x 4
A B C overal
<chr> <chr> <chr> <dbl>
1 Jan Feb Feb 1
2 Mar Mar Mar 1
3 Jan Jan Feb 1
4 Jan Jan Jan 1
5 Jan Mar Feb 1
6 Mar Mar Feb 1
我只需要对应用程序进行一些解释pmap
对于 tibbles 的行式迭代,所以我非常感谢您提前提供的帮助,谢谢。