我想創建一個基於單獨變量的觀測值的模型編號的新變量。根據觀測的模態數創建一個新變量
使用這個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