。drop不起作用!包括零频率计数

问题描述 投票:0回答:1

我是R和论坛的新手,所以如果您需要更多信息以帮助我解决此问题,请告诉我。预先感谢您的帮助!

我目前遇到一个问题,理论上应该可以使用.drop命令轻松解决该问题,尽管出于某种原因,该命令对我不起作用。

我想创建一个对象,其中包括反对派在议会中对某一票的赞成票和反对票。现在,当频率计数> 0时,它包括“是”和“否”的频率。但是,如果反对派对该问题投了赞成票(例如200票赞成,0票反对),则出于某些原因而放弃了0个频率。

library(foreign)
library(tidyverse)
library(readstata13)
library(tibbletime)
library(lubridate)
library(car)


BTFULLOPPSUM <- BTFULLD %>% dplyr::filter(Opposition == 1) %>% dplyr::group_by(vote_id, vote_beh, .drop = FALSE) %>%
  dplyr::summarise(number = n())

#BTFULLOPPSUM is the new object. BTFULLD the dataframe

这就是结果。

number
   vote_id  Y/N  number
1   9001    0   226
2   9002    0   227
3   9003    0   213
4   9004    0   16
5   9004    1   196

1 == Yes, 0 == NO

这就是我想要的:

1 9001  0 226
2 9001  1 0 
3 9002  0 227
4 9002  1 0

vote_beh是投票决定,因此是(1)或否(0)。我希望这样就足够了,因为问题已经从9001表决开始,因为没有反对党投了赞成票。 (例如,这次投票的反对党是基民盟/基社盟)。

这是vote_id 9001重要变量的一小部分。对我来说,这更令人困惑,但也许您可以使用它。

structure(list(vote_id = c(9001, 9001, 9001, 9001, 9001, 9001, 
9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 
9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 
9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 
9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 
9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 
9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 
9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 
9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 
9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 
9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 
9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 
9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 
9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 
9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 
9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 
9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 
9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 
9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 
9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 
9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 
9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 
9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 
9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 
9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 
9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 
9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 
9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 
9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 
9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 
9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 
9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 
9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 
9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 
9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 
9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 
9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 
9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 
9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 
9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 
9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 
9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 
9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 
9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 
9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 9001, 
9001, 9001, 9001), vote_beh = c(0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 
0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, 1, 0, 
0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 
1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, 
0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 
0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 
1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 
1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 
0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 
1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 
1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 
0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 
0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 1, 
1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 
1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 
1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 
0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 1, 
1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 
1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 
0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 
1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 
0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 
1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 
1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0
), Opposition = c(1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 
0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 
1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 
1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 
0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 
0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 
1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 
0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 0, 
1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 
1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 
0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 
1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 
1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 
0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 
1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 
1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 
0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 
1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 
1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 
1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 
1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 0, 
0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 
0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 1)), class = c("tbl_df", 
"tbl", "data.frame"), row.names = c(NA, -493L))
r dplyr tidyverse frequency summarize
1个回答
0
投票

[tidyr::complete将为指定变量的每种组合创建行-在这里很有用,这样您就可以为每个vote_id获得Y + N行。

library(tidyverse)
BTFULLOPPSUM <- tibble::tribble(
            ~vote_id, ~Y_N, ~number,
                9001,    0,     226,
                9002,    0,     227,
                9003,    0,     213,
                9004,    0,      16,
                9004,    1,     196
            )

BTFULLOPPSUM %>%
  complete(vote_id, Y_N, fill = list(number = 0))

## A tibble: 8 x 3
#  vote_id   Y_N number
#    <dbl> <dbl>  <dbl>
#1    9001     0    226
#2    9001     1      0
#3    9002     0    227
#4    9002     1      0
#5    9003     0    213
#6    9003     1      0
#7    9004     0     16
#8    9004     1    196
© www.soinside.com 2019 - 2024. All rights reserved.