我想创建一个基于单独变量的观测值的模型编号的新变量。根据观测的模态数创建一个新变量
使用这个DF:
help <- data.frame(
id = c(rep(05, times = 8), rep(10, times = 8), rep(12, times = 8)),
episode = c(rep(1, times = 4), rep(2, times =4), rep(3, times = 8), rep(1, times = 4), rep(2, times =4)),
provider = c(rep(70, times = 2), rep(80, times = 2), rep(70, times = 4), rep(30, times = 6), rep(40, times = 2), rep(70, times = 4), rep(10, times = 4)))
我希望创建一个新的变量,是基于模态提供商provider_mode,或以最意见提供者,每次发作。
年底DF应该是这样的:
id episode provider provider_mode
5 1 70 70
5 1 70 70
5 1 80 70
5 1 80 70
5 2 70 70
5 2 70 70
5 2 70 70
5 2 70 70
10 3 30 30
10 3 30 30
10 3 30 30
10 3 30 30
10 3 30 30
10 3 30 30
10 3 40 30
10 3 40 30
12 1 70 70
12 1 70 70
12 1 70 70
12 1 70 70
12 2 10 10
12 2 10 10
12 2 10 10
12 2 10 10
这里是我想出了迄今为止的代码,但它只是让我对每个情节中的每个供应商的数量。我需要创建一个mutate命令,使得提供者观察得最多,如果存在平局,请选择第一个提供者(例如,id 5内的提供者70)。
help %>% group_by(id, episode, provider) %>% mutate(provider_count = n())
的“模式”我不知道'top_n'将在领带的情况下返回多行。我添加了一个额外的过滤器,每个ID只返回一个值。 – MrFlick
只要我应付'group_by(id,episode)'... ...,如果我不'按照情节分组,那么这个工作方式就会生效,id 12的提供者在两个剧集中保持不变。谢谢,轻弹。 – bpace