R 用于创建投票份额百分比的列

R 用于创建投票份额百分比的列,r,dplyr,tidyverse,R,Dplyr,Tidyverse,这是我的数据集,我想在这里创建第四列,显示投票率 第一栏是选区 第二栏包含参加选举的候选人 第三列包含他/她在选举中获得的票数 选举 我想创建第四列,其第一行值必须是329720/(329720+82332+19106),即0.764 为什么是前三名,因为V.p.SANU、Unnikrishnan和Abdul Majeed Faizy是来自马拉普拉姆的参赛者 同样地,我想填写第四栏,让每个不同选区的候选人都有投票权 请帮助我了解此任务的R代码 提前感谢试试这个: library(dplyr)

这是我的数据集,我想在这里创建第四列,显示投票率

  • 第一栏是选区
  • 第二栏包含参加选举的候选人
  • 第三列包含他/她在选举中获得的票数 选举
我想创建第四列,其第一行值必须是329720/(329720+82332+19106),即0.764

为什么是前三名,因为V.p.SANU、Unnikrishnan和Abdul Majeed Faizy是来自马拉普拉姆的参赛者

同样地,我想填写第四栏,让每个不同选区的候选人都有投票权

请帮助我了解此任务的R代码

提前感谢

试试这个:

library(dplyr)
set.seed(42)

# example data
df <- data.frame(
  constituency = sample(LETTERS[1:5], 20, rep = TRUE),
  candidate = sample(letters[1:5], 20, rep = TRUE),
  n_votes = sample(1:10, 20, rep = TRUE)
) %>% 
  # Just to ensure that there is only one obs per candiate-const-pair arrange(constituency, candidate) %>% 
  group_by(constituency, candidate) %>% 
  summarise(n_votes = sum(n_votes))

# Add vote share of a candidate per constituency
df %>% 
  group_by(constituency) %>% 
  mutate(pct_votes_per_constituency = n_votes / sum(n_votes))
库(dplyr)
种子(42)
#示例数据
df%
#只是为了确保每个candiate const pair排列(选区、候选人)%>%只有一个OB
组别(选区,候选人)%>%
总结(n_票=总和(n_票))
#增加每个选区候选人的投票份额
df%>%
组别(选区)%>%
变更(每个选区的pct_票数=n_票数/总和(n_票数))

Hi@stefan感谢您的输入,但是您能用我的列名编辑您的代码吗。第1栏=选区,第2栏=姓名,第3栏=总票数。谢谢你的帮助