我正在尝试将计数器列(n_team
和n_bird
)添加到数据帧中,但使用dplyr::row_number
等没有成功。下面是输入数据帧(df
)和所需输出数据帧(df_counts
)以及几个错误输出的代码的代表。
library(dplyr)
# Input
df <-
tribble(
~id, ~team, ~bird,
1, "blue", "parrot",
2, "green", "owl",
3, "blue", "toucan",
3, "blue", "finch",
4, "green", "penguin",
4, "blue", "sparrow"
)
# Desired output
# n_team is the team number within an id
# n_bird is the bird number within a team within an id
df_counts <-
tribble(
~id, ~team, ~bird, ~n_team, ~n_bird,
1, "blue", "parrot", 1, 1,
2, "green", "owl", 1, 1,
3, "blue", "toucan", 1, 1,
3, "blue", "finch", 1, 2,
4, "green", "penguin", 1, 1,
4, "blue", "sparrow", 2, 1
)
# Incorrect
df %>%
add_count(id, team, name = "n_team")
#> # A tibble: 6 x 4
#> id team bird n_team
#> <dbl> <chr> <chr> <int>
#> 1 1 blue parrot 1
#> 2 2 green owl 1
#> 3 3 blue toucan 2
#> 4 3 blue finch 2
#> 5 4 green penguin 1
#> 6 4 blue sparrow 1
df %>%
group_by(id) %>%
mutate(n_team = row_number(team))
#> # A tibble: 6 x 4
#> # Groups: id [4]
#> id team bird n_team
#> <dbl> <chr> <chr> <int>
#> 1 1 blue parrot 1
#> 2 2 green owl 1
#> 3 3 blue toucan 1
#> 4 3 blue finch 2
#> 5 4 green penguin 2
#> 6 4 blue sparrow 1
df %>%
group_by(id, team) %>%
mutate(n_team = 1:n())
#> # A tibble: 6 x 4
#> # Groups: id, team [5]
#> id team bird n_team
#> <dbl> <chr> <chr> <int>
#> 1 1 blue parrot 1
#> 2 2 green owl 1
#> 3 3 blue toucan 1
#> 4 3 blue finch 2
#> 5 4 green penguin 1
#> 6 4 blue sparrow 1
df %>%
group_by(id) %>%
mutate(n_team = n_distinct(team))
#> # A tibble: 6 x 4
#> # Groups: id [4]
#> id team bird n_team
#> <dbl> <chr> <chr> <int>
#> 1 1 blue parrot 1
#> 2 2 green owl 1
#> 3 3 blue toucan 1
#> 4 3 blue finch 1
#> 5 4 green penguin 2
#> 6 4 blue sparrow 2
df %>%
add_count(team)
#> # A tibble: 6 x 4
#> id team bird n
#> <dbl> <chr> <chr> <int>
#> 1 1 blue parrot 4
#> 2 2 green owl 2
#> 3 3 blue toucan 4
#> 4 3 blue finch 4
#> 5 4 green penguin 2
#> 6 4 blue sparrow 4
# Counts alphabetically
df %>%
group_by(id, team) %>%
mutate(n_bird = row_number(bird))
#> # A tibble: 6 x 4
#> # Groups: id, team [5]
#> id team bird n_bird
#> <dbl> <chr> <chr> <int>
#> 1 1 blue parrot 1
#> 2 2 green owl 1
#> 3 3 blue toucan 2
#> 4 3 blue finch 1
#> 5 4 green penguin 1
#> 6 4 blue sparrow 1
# Counts in order
df %>%
group_by(id, team) %>%
mutate(n_bird = row_number())
#> # A tibble: 6 x 4
#> # Groups: id, team [5]
#> id team bird n_bird
#> <dbl> <chr> <chr> <int>
#> 1 1 blue parrot 1
#> 2 2 green owl 1
#> 3 3 blue toucan 1
#> 4 3 blue finch 2
#> 5 4 green penguin 1
#> 6 4 blue sparrow 1
以下是4种非常相似但又不同的方法:
匹配
+唯一
:library(dplyr)
df %>%
group_by(id) %>%
mutate(n_teams = match(team, unique(team))) %>%
group_by(team, .add = TRUE) %>%
mutate(n_bird = match(bird, unique(bird)))
# id team bird n_teams n_bird
# <dbl> <chr> <chr> <int> <int>
#1 1 blue parrot 1 1
#2 2 green owl 1 1
#3 3 blue toucan 1 1
#4 3 blue finch 1 2
#5 4 green penguin 1 1
#6 4 blue sparrow 2 1
df %>%
group_by(id) %>%
mutate(n_teams = as.integer(factor(team))) %>%
group_by(team, .add = TRUE) %>%
mutate(n_bird = as.integer(factor(bird)))
df %>%
group_by(id) %>%
mutate(n_teams = data.table::rleid(team)) %>%
group_by(team, .add = TRUE) %>%
mutate(n_bird = data.table::rleid(bird))
df %>%
group_by(id) %>%
mutate(n_teams = dense_rank(team)) %>%
group_by(team, .add = TRUE) %>%
mutate(n_bird = dense_rank(bird))
我需要帮助找出如何完成第3步。。请我正在使用的教科书并没有很好地解释计数函数,它只是以我下面的编码方式显示了这个“len”函数,这是不正确的。 > 在程序的开始处添加输入()语句。输入()应该提示用户输入一个正的起始数。 使用用户键入的数字作为for循环的起始值。循环应该打印输入的数字和该数字的负值之间的所有奇数。 我能够完成#的1和2,但我不能得到#3。这是我到目前为止...
我有两个嵌套的< code>v-for元素,看起来像: 我想只展示前五个产品,不考虑类别数量和每个类别的产品数量。 如何在第二个 元素内获取累积索引计数(相对于从 categoryIndex 父数组显示的产品总数)?
这看起来很容易,但却不知道该怎么做。当前数组数据是按日期和日期列出的,因此我需要将所有日期组合起来:天、月、6个月、1年。我需要将数组数据排列为下面的第二个数组。
坦率地说,我一直在思考如何实现一些超出我数学能力的东西。因此,请随意尝试并为我指出正确的方向,而不是完整的代码解决方案,我将非常感谢您的帮助。 所以,假设我对文本进行了分析,并生成了不同两个字符组合的频率表。我已将这些存储在26x26阵列中。如。 所以我想随机选择这两个字符组合,但我想根据频率来“权衡”我的选择。也就是说,上面的AB应该是AA的“可能性”的15倍。而且,很明显,选择永远不应该返回类
但是用于添加新项或移除项的HTTPendpoint是什么样子的呢? 现在,我必须指定整个数组,包括我不想接触的元素:
问题内容: 我正在尝试在页面加载后根据其所在的页面将一个类(即)添加到适当的菜单列表项。下面是我现在的菜单。我已经尝试了在这方面可以找到的所有代码片段,但是没有任何效果。因此,有人可以简单解释一下在何处以及如何在JavaScript中添加以定义此任务吗? 这是我在网站管理员中将head标签放入的javascript的示例。我究竟做错了什么? 问题答案: 这不起作用的原因是因为javascript正