В R и с tidyverse у меня есть фрейм данных под названием «total» со следующими столбцами:
«IdPedido», «ProtocoloPedido», «OrgaoSuperiorAssociadoaoDestinatario», «OrgaoDestinatario», «situacao», «DataRegistro» «ResumoSolicitacao», «DetalhamentoSolicitacao», «PrazoAtendimento», «FoiProrrogado», «FoiReencaminhado», «FormaResposta», «OrigemSolicitacao», «IdSolicitante», «ResoriaPedido» RestaiaPedidoRasedo «PedidoRas» "," TipoResposta "," ClassificacaoTipoResposta "и" IdPedido_ano "
Вот краткое содержание:
dput(total[1:2, ])
structure(list(IdPedido = c("345365", "345366"), ProtocoloPedido = c("99901000001201633",
"99902000001201623"), OrgaoSuperiorAssociadoaoDestinatario = c(NA,
NA), OrgaoDestinatario = c("BB – Banco do Brasil S.A.", "CEF – Caixa Econômica Federal"
), Situacao = c("Respondido", "Respondido"), DataRegistro = structure(c(1451640253,
1451648416), class = c("POSIXct", "POSIXt"), tzone = "UTC"),
ResumoSolicitacao = c("consultar meu cpf . no spc e serasa",
"Esclarecimentos sobre seguro de risco de incêndio"), DetalhamentoSolicitacao = c("Consulta do cpf no serasa e spc",
"Sou conselheiro de um Condomínio e depois da publicação da NORMA ABNT 16.280 que começou a valer a partir de 18/04/2014 tenho as seguintes dúvidas com relação a instalação de ares condicionados nas unidades condominiais. Pergunto: quem colocou os ares condicionados antes da publicação da Norma da ABNT esses condôminos têm que apresentar ao síndico a ART da instalação ou não? A Lei retroage nestes casos? Recentemente um condômino contratou um engenheiro civil para fazer algumas obras no seu apto e instalou os ares condicionados e o engenheiro forneceu a ART.Pergunto: Pode um engenheiro civil dar ART para instalação de ar condicionado? Não é atribuição específica de um engenheiro eletricista? Se houver um incêndio em sua unidade o seguro pode exigir a ART de um engenheiro eletricista ou não? Vai ter problemas com o seguro caso haja um incêndio nesta unidade habitacional? Cito como exemplo vários incêndios que ocorreram no passado (Edifício Joelma ) cuja causa foi por causa da instalação elétrica e pegou fogo nos ares condicionados, alguns aptos em Copacabana também. Fico no aguardo dos esclarecimentos necessários acerca das exigências e implicações das Seguradoras em caso de ocorrer um incêndio em nosso Condomínio por causa da instalação de ares condicionados. Atenciosamente, Luciano Miniero"
), PrazoAtendimento = structure(c(1453766399, 1453766399), class = c("POSIXct",
"POSIXt"), tzone = "UTC"), FoiProrrogado = c("NÃO", "NÃO"
), FoiReencaminhado = c("NÃO", "NÃO"), FormaResposta = c("Pelo sistema (com avisos por email)",
"Pelo sistema (com avisos por email)"), OrigemSolicitacao = c("Internet",
"Internet"), IdSolicitante = c("604629", "537117"), CategoriaPedido = c("Economia e Finanças",
"Economia e Finanças"), SubCategoriaPedido = c("Economia",
"Economia"), NumeroPerguntas = c("1", "1"), DataResposta = structure(c(1453721439,
1452011569), class = c("POSIXct", "POSIXt"), tzone = "UTC"),
Resposta = c("Prezado(a) Sr(a). Gisela, Encaminhamos, em anexo, resposta ao seu pedido de informação. Atenciosamente, Serviço de Informação ao Cidadão do Banco do Brasil – SICBB Recurso Conforme a Lei 12527/11 em seu artigo Art. 15, no caso de indeferimento de acesso a informações ou às razões da negativa do acesso, poderá o interessado interpor recurso contra a decisão no prazo de 10 (dez) dias a contar da sua ciência. Parágrafo único. O recurso será dirigido à autoridade hierarquicamente superior à que exarou a decisão impugnada, que deverá se manifestar no prazo de 5 (cinco) dias.",
"Prezado (a) Senhor (a), 1. Em atenção a sua solicitação, registrada através do E-SIC, site CGU, informamos que não foi possível compreender o seu pedido. 2. Caso seja pertinente à CAIXA, orientamos gerar novo pedido detalhando a sua solicitação. 3. Informamos que a CAIXA mantém SAC para informações, reclamações, cancelamentos, sugestões, serviços e elogios, com atendimento 24 horas por dia 07 dias por semana, pelo DDG 0800 726 0101 e para reclamações não solucionadas no SAC ou denúncias, a CAIXA mantém canal de Ouvidoria com atendimento de segunda a sexta-feira, das 08 às 18 horas, pelo DDG 0800 725 7474. 4. A CAIXA coloca-se à disposição através de seus canais de atendimento. Atenciosamente, CAIXA – Serviço de Informações ao Cidadão"
), TipoResposta = c("Acesso Concedido", "Acesso Negado"),
ClassificacaoTipoResposta = c("Resposta solicitada inserida no e-SIC",
"Pedido incompreensível"), IdPedido_ano = c("345365_2016",
"345366_2016")), row.names = c(NA, -2L), class = c("tbl_df",
"tbl", "data.frame"))
Это кадр данных по запросам на доступ к информации в Бразилии. В столбце «OrgaoDestinatario» указаны названия учреждений, которые получили запросы. И в столбце «ТипоРеспоста», который был типом ответа на запрос
, я сосчитал два столбца
total %>% count(OrgaoDestinatario, sort = TRUE)
A tibble: 295 x 2
OrgaoDestinatario n
<chr> <int>
1 ME - Ministério da Economia 21000
2 CEF – Caixa Econômica Federal 7212
3 MS – Ministério da Saúde 6913
4 ANEEL – Agência Nacional de Energia Elétrica 6596
5 INSS – Instituto Nacional do Seguro Social 5674
6 BACEN – Banco Central do Brasil 4281
7 MAPA – Ministério da Agricultura, Pecuária e Abastecimento 3978
8 MEC – Ministério da Educação 3632
9 ANVISA – Agência Nacional de Vigilância Sanitária 3494
10 MDR - Ministério do Desenvolvimento Regional 3167
# … with 285 more rows
total %>% count(TipoResposta, sort = TRUE)
A tibble: 21 x 2
TipoResposta n
<chr> <int>
1 Acesso Concedido 129330
2 Não se trata de solicitação de informação 12128
3 Acesso Negado 10241
4 Acesso Parcialmente Concedido 8832
5 Órgão não tem competência para responder sobre o assunto 6523
6 Informação Inexistente 5600
7 Pergunta Duplicada/Repetida 3786
8 Encaminhado para o e-Ouv 660
9 Resposta solicitada inserida no e-SIC 15
10 Informações enviadas por e-mail 13
# … with 11 more rows
, а также подсчитывает внутри «ТипоРеспоста» объекта. Пример:
ECO <- total %>%
filter(OrgaoDestinatario == "ME - Ministério da Economia")
ECO %>% count(TipoResposta, sort = TRUE)
# A tibble: 9 x 2
TipoResposta n
<chr> <int>
1 Acesso Concedido 12120
2 Não se trata de solicitação de informação 4679
3 Acesso Negado 1824
4 Órgão não tem competência para responder sobre o assunto 707
5 Informação Inexistente 560
6 Acesso Parcialmente Concedido 530
7 Pergunta Duplicada/Repetida 485
8 Encaminhado para o e-Ouv 94
9 NA 1
Я хочу создать новый фрейм данных, в котором есть столбец с именем «list_of_entities», и каждая строка содержит информацию «OrgaoDestinatario», не повторяя ее (в данном случае 295 строк). Пример:
list_of_entities
ME - Ministério da Economia
CEF – Caixa Econômica Federal
MS – Ministério da Saúde
ANEEL – Agência Nacional de Energia Elétrica
INSS – Instituto Nacional do Seguro Social
BACEN – Banco Central do Brasil
MAPA – Ministério da Agricultura, Pecuária e Abastecimento
…
И другие столбцы с именами, найденными в «ТипоРеспоста»: «Aceso Concedido», «Não se trata de solicitação de informação», «Acesso Negado»…
Но строки в каждом из этих столбцов будут иметь результат математического счета, число, относительно значения «list_of_entities»: сумма категории «TipoResposta» соответствующего объекта, деленная на общее количество запросов этого объекта, умноженное на 100 Пример:
У «ME - Ministério da Economia» было 21 000 запросов, а по пункту «Acesso Concedido» - 12 120 случаев. Таким образом, это 12 120/21 000 * 100 = 57,71. Таким образом, в новом кадре данных в строке «ME - Ministério da Economia» и в столбце «Acesso Concedido» будет значение 57,71
Продолжая, в элементе « Não se trata de solicitação de informação »было 4679, поэтому счет будет 4679 / 21,000 * 100 = 22,28 Затем в новом фрейме данных в строке« ME - Ministério da Economia »и в столбце« Não se trata de solicitação » de informação »значение будет 22,28 И так далее, во всех столбцах, а затем во всех других объектах и их столбцах
Пожалуйста, кто-нибудь знает, как я мог бы сделать это с R?