Nothing
knitr::opts_chunk$set(eval = TRUE, echo = FALSE, message = FALSE, comment = NA, results = 'asis', warnings = FALSE)
###----------------------------------------------- Carregamento dos dados do PPG ano_ini <- ano_ini ano_fim <- ano_fim nome_instituicao <- nome_instituicao nome_ppg <- nome_ppg nome_area <- nome_area xlsx_qualis <- xlsx_qualis xlsx_qualis_livros <- xlsx_qualis_livros
###-------------------------------------------------- Preparação para as Análises ### formatação de letras minusculas e remocao de acentuacao nome_instituicao <- str_to_lower(encode_xml2(nome_instituicao)) nome_ppg <- str_to_lower(encode_xml2(nome_ppg)) nome_area <- str_to_lower(encode_xml2(nome_area)) # Qualis Periódicos qualis_periodicos <- read.xlsx(xlsx_qualis) names(qualis_periodicos) <- c("ISSN", "Titulo", "Area", "Estrato") qualis_periodicos$ISSN <- sub("-", "", qualis_periodicos$ISSN) qualis_periodicos$Titulo <- str_trim(str_to_lower(encode_xml2(qualis_periodicos$Titulo))) qualis_periodicos$Area <- str_trim(str_to_lower(encode_xml2(qualis_periodicos$Area))) # Qualis Livros (arquivo facultativo) if(is.null(xlsx_qualis_livros) != T) { qualis_livros <- read.xlsx(xlsx_qualis_livros) names(qualis_livros) <- c("Titulo", "ISBN", "Estrato") qualis_livros$ISBN <- str_trim(qualis_livros$ISBN) qualis_livros$Estrato <- str_trim(qualis_livros$Estrato) } if(is.null(xlsx_qualis_livros) == T) { qualis_livros<- NULL } ###--------------------------------------------------- ARQUIVO CITAÇÃO DISCENTES id.dis <- list.files(cv_discentes, full.names = T, recursive = T) id.discente<-NULL nome.discente<-NULL nome.citacao<-NULL for(i in 1:length(id.dis)){ url_cv <- unzip(id.dis[i]) url_cv <-substring(url_cv,3) f <- readLines(url_cv, encoding="latin1") f <- encode_xml2(f) writeLines(f, url_cv) f <- NULL data <- xmlParse(url_cv) xml_data <- xmlToList(data) # identificador do Lattes id.discente <- c(id.discente, as.vector(xml_data$.attrs["NUMERO-IDENTIFICADOR"])) # nome completo do discente nome.discente <- c(nome.discente, encode_xml2(xml_data$"DADOS-GERAIS"$.attrs["NOME-COMPLETO"])) # nome de citação do discente nome.citacao <- c(nome.citacao,encode_xml2(xml_data$"DADOS-GERAIS"$.attrs["NOME-EM-CITACOES-BIBLIOGRAFICAS"])) file.remove(url_cv) } nome.citacao<-strsplit(nome.citacao,";") nome.citacao<-unlist(nome.citacao) # arquivo com id, nome completo e nome em citacoes dos discentes dic_id_cit<-c(id.discente, nome.discente, nome.citacao) ###----------------------------------------------------- ARQUIVO CITAÇÃO DOCENTES id.doc <- list.files(cv_docentes, full.names = T, recursive = T) id.docente<-NULL nome.docente<-NULL doc.citacao<-NULL for(i in 1:length(id.doc)){ # leitura do lattes url_cv <- unzip(id.doc[i]) url_cv <-substring(url_cv,3) f <- readLines(url_cv, encoding="latin1") f <- encode_xml2(f) writeLines(f, url_cv) f <- NULL data <- xmlParse(url_cv) xml_data <- xmlToList(data) # identificador do Lattes id.docente <- c(id.docente, as.vector(xml_data$.attrs["NUMERO-IDENTIFICADOR"])) # nome completo do discente nome.docente <- c(nome.docente, encode_xml2(xml_data$"DADOS-GERAIS"$.attrs["NOME-COMPLETO"])) # nome de citação do discente doc.citacao <- c(doc.citacao,encode_xml2(xml_data$"DADOS-GERAIS"$.attrs["NOME-EM-CITACOES-BIBLIOGRAFICAS"])) file.remove(url_cv) } doc.citacao<-strsplit(doc.citacao,";") doc.citacao<-unlist(doc.citacao) # arquivo com id, nome completo e nome em citacoes dos discentes doc_id_cit<-c(id.docente, nome.docente, doc.citacao) ###----------------------------------------------- Tabela para armazenar os dados clattes <- data.frame(id = rep("", length(id.doc)), nome = rep("", length(id.doc)), data = rep("", length(id.doc)), art = rep(0, length(id.doc)), liv = rep(0, length(id.doc)), pev = rep(0, length(id.doc)), tec = rep(0, length(id.doc)), ori = rep(0, length(id.doc)), ban = rep(0, length(id.doc)), pro = rep(0, length(id.doc)), ctc = rep(0, length(id.doc)), dis = rep(0, length(id.doc)), int = rep(0, length(id.doc)), # pdc = rep(0, length(id.doc)), # pve = rep(0, length(id.doc)), prm = rep(0, length(id.doc)), linhasp = rep("", length(id.doc)), stringsAsFactors = FALSE)
###------------------------------------------------ EXTRAÇÃO DOS DADOS DO LATTES producao_artigos<-producao_livros<-producao_tecnica<-producao_orientacoes<- NULL producao_bancas<-producao_projetos<-producao_coltec<-producao_disciplinas <- NULL producao_posdoc<-producao_pvecd<-producao_premio<-producao_associada<-producao_tanais<- NULL # loop para cada Lattes for(cl in 1:length(id.doc)){ # leitura do lattes url_cv <- unzip(id.doc[cl]) url_cv <-substring(url_cv,3) f <- readLines(url_cv, encoding="latin1") f <- encode_xml2(f) writeLines(f, url_cv) f <- NULL data <- xmlParse(url_cv) xml_data <- xmlToList(data) ###----------------------------------------------------------------- id Lattes id <- as.vector(xml_data$.attrs["NUMERO-IDENTIFICADOR"]) clattes[cl, "id"] <- id ###---------------------------------------------------------------------- nome nome <- encode_xml2(xml_data$"DADOS-GERAIS"$.attrs["NOME-COMPLETO"]) clattes[cl, "nome"] <- nome # arquivo com id, nome completo e nome em citacoes deste docente citacao <- encode_xml2(xml_data$"DADOS-GERAIS"$.attrs["NOME-EM-CITACOES-BIBLIOGRAFICAS"]) citacao<-strsplit(citacao,";") citacao<-unlist(citacao) este_doc_id_cit<-c(id, nome, citacao) ###------------------------------------------- data da A ATUALIZAÇÃO do Lattes clattes[cl, "data"] = paste0( str_sub(xml_data$.attrs["DATA-ATUALIZACAO"], 1, 2), "/", str_sub(xml_data$.attrs["DATA-ATUALIZACAO"], 3, 4), "/", str_sub(xml_data$.attrs["DATA-ATUALIZACAO"], 5, 8) ) ###-------------------------------------------------------- LINHAS DE PESQUISA clattes[cl, "linhasp"] <- linhas_pesquisa(xml_data, nome_instituicao) ###------------------------------------------------------------------- ARTIGOS producao_artigos <- rbind(producao_artigos, artigos(id, xml_data, dic_id_cit, qualis_periodicos, nome_area, encode_xml2, ano_ini, ano_fim)) clattes[cl, "art"] <- producao_artigos[producao_artigos$id == id & producao_artigos$equipe == "TOTAL", "pontos"] ###-------------------------------------------------------- LIVROS e CAPÍTULOS producao_livros <- rbind(producao_livros, livros(id, xml_data, qualis_livros, ano_ini, ano_fim, dic_id_cit, encode_xml2)) clattes[cl, "liv"] <- producao_livros[producao_livros$id == id & producao_livros$equipe == "TOTAL", "pontos"] ###----------------------------------------------------------------------- PTT producao_tecnica <- rbind(producao_tecnica, tecnica(id, xml_data, qualis_periodicos, nome_area, ano_ini, ano_fim)) clattes[cl, "tec"] <- producao_tecnica[producao_tecnica$id == id & producao_tecnica$estrato == "TOTAL", "pontos"] ###--------------------------------------------------------------- ORIENTAÇÕES producao_orientacoes <- rbind(producao_orientacoes, orientacao(id, xml_data, nome_instituicao, nome_ppg, ano_ini, ano_fim)) clattes[cl, "ori"] <- producao_orientacoes[producao_orientacoes$id == id & producao_orientacoes$instituicao == "TOTAL", "pontos"] ###-------------------------------------------------------------------- BANCAS producao_bancas <- rbind(producao_bancas, banca(id, xml_data, nome_instituicao, nome_ppg, ano_ini, ano_fim)) clattes[cl, "ban"] <- producao_bancas[producao_bancas$id == id & producao_bancas$instituicao == "TOTAL", "pontos"] ###------------------------------------------------------------------ PROJETOS producao_projetos <- rbind(producao_projetos, projeto(id, xml_data, ano_ini, ano_fim)) clattes[cl, "pro"] <- producao_projetos[producao_projetos$id == id & producao_projetos$financiador == "TOTAL", "pontos"] ###------------------------------------------------------- COLABORAÇÃO TÉCNICA producao_coltec <- rbind(producao_coltec, coltec(id, xml_data, qualis_periodicos, nome_area, ano_ini, ano_fim)) clattes[cl, "ctc"] <- producao_coltec[producao_coltec$id == id & producao_coltec$instituicao == "TOTAL", "pontos"] ###--------------------------------------------------------------- DISCIPLINAS producao_disciplinas <- rbind(producao_disciplinas, disciplina(id, xml_data, nome_instituicao, nome_ppg, ano_ini, ano_fim)) clattes[cl, "dis"] <- producao_disciplinas[producao_disciplinas$id == id & producao_disciplinas$curso == "TOTAL", "pontos"] ###--------------------------------------------------- INTERCAMBIO ###--------- POSDOC e LIVRE DOCENCIA producao_posdoc <- rbind(producao_posdoc, posdoc(id, xml_data, ano_ini, ano_fim)) #clattes[cl, "pdc"] <- producao_posdoc[producao_posdoc$id == id & producao_posdoc$instituicao == "TOTAL", "pontos"] ###--------- PROF VISITANTE E ESTAGIO DE CURTA DURACAO producao_pvecd <- rbind(producao_pvecd, pvecd(id, xml_data, ano_ini, ano_fim)) #clattes[cl, "pve"] <- producao_pvecd[producao_pvecd$id == id & producao_pvecd$vinculo == "TOTAL", "pontos"] clattes[cl, "int"] <- producao_posdoc[producao_posdoc$id == id & producao_posdoc$instituicao == "TOTAL", "pontos"] + producao_pvecd[producao_pvecd$id == id & producao_pvecd$vinculo == "TOTAL", "pontos"] ###-------------------------------------------------------------------- PREMIO producao_premio <- rbind(producao_premio, premio(id, xml_data, ano_ini, ano_fim)) clattes[cl, "prm"] <- producao_premio[producao_premio$id == id & producao_premio$titulo == "TOTAL", "pontos"] ###------------------------------- PRODUCAO ASSOCIADA AOS PROJETOS DE PESQUISA producao_associada <- rbind(producao_associada, prodass(id, xml_data, este_doc_id_cit, doc_id_cit, dic_id_cit, ano_ini, ano_fim)) ###------------------------------------------------------- PRODUCAO EM EVENTOS producao_tanais <- rbind(producao_tanais, trab_anais(id, xml_data, dic_id_cit, ano_ini, ano_fim)) clattes[cl, "pev"] <- producao_tanais[producao_tanais$id == id & producao_tanais$equipe == "TOTAL", "pontos"] file.remove(url_cv) } # retirar número das linhas do dataframe row.names(producao_artigos)<-row.names(producao_livros)<-row.names(producao_tecnica)<-row.names(producao_orientacoes)<-row.names(producao_bancas)<-row.names(producao_projetos)<-row.names(producao_coltec)<-row.names(producao_disciplinas)<-row.names(producao_posdoc)<-row.names(producao_pvecd)<-row.names(producao_premio)<-row.names(producao_associada)<-row.names(producao_tanais)<- NULL clattes <- clattes %>% arrange(nome) # Exclui a coluna das linhas de pesquisa (ainda não usada) df_lattes <- clattes[,c(1:14)]
###------------------------------------------------------------------- RELATORIO ###------------------------------------------------------ cabecalho do Relatorio #cat(paste0("#### Instituição: ", "Universidade Federal Pública e Gratuita")) cat(paste0("#### Instituição: ", nome_instituicao[1])) cat("\n\n\n") cat(paste0("#### PPG: ", nome_ppg[1])) #cat(paste0("#### PPG: ", "Programa de Pós-graduação Para Todos")) cat("\n\n\n") cat(paste0("#### Área: ", nome_area[1])) #cat(paste0("#### Área: ", "A Que Elas Quiserem")) cat("\n\n\n") cat("\n\n\n") ###--------------------------------------------------------- RESUMO DA PRODUÇÃO cat("### RESUMO DA PRODUÇÃO DOCENTE") cat("\n\n\n") n_docentes <- nrow(clattes) ###----------------------------------------------- DOCENTES - Produções por Tipo # inclui linha para o somatório por tipo df <- rbind(df_lattes, c("","","", colSums(df_lattes[ , 4:ncol(df_lattes)]))) df[nrow(df), 1] <- "TOTAL" #df$nome[1:(length(df$nome)-1)]<-"XXXXX" #df$id[1:(length(df$id)-1)]<-"XXXXX" kable(df, caption = paste0("Produção Docente por Tipo (", ano_ini, "-", ano_fim, ")"), format = "pandoc", row.names = FALSE) cat("art Artigos, liv Livros e Capítulos, pev Publicação em Eventos, tec PTTs, ori Orientações no PPG, ban Bancas, pro Projetos, ctc Colaborações Técnicas, dis Disciplinas, int Intercâmbio (pós-doc, prof visitante e estágio de curta duração), prm Prêmios") cat("\n\n\n") ###----------------------------------------------------- Publicação docente geral # Artigos ar <- producao_artigos %>% select(id, nome, equipe, estrato_, ano) %>% filter(ano %in% (ano_ini:ano_fim)) names(ar)[names(ar) == 'estrato_'] <- 'tipo' li<- producao_livros %>% select(id, nome, equipe, tipo, ano) %>% filter(ano %in% (ano_ini:ano_fim)) li$tipo[li$tipo == "LIVRO_ORGANIZADO_OU_EDICAO"]<- "L" li$tipo[li$tipo == "LIVRO_PUBLICADO"]<- "L" li$tipo[li$tipo == "Capitulo de livro publicado"]<- "CL" # Artigos + Livros df<-bind_rows(ar,li) df<-arrange(df,nome) df <- df %>% group_by(id, nome, tipo) %>% summarise(n = n()) %>% arrange(nome, as.character(tipo)) df$tipo <- as.factor(str_trim(df$tipo)) tipo <- as.character(levels(df$tipo)) if(length(tipo) > 0){ df2 <- cbind(clattes[, c("id","nome")], matrix(0, nrow(clattes), length(tipo))) names(df2) <- c("id","nome", tipo) todas_pub<- c("id","nome","A1","A2","A3","A4","B1","B2","B3","B4","C", "NC", "CL", "L") reordenar_pub<-match(todas_pub, names(df2)) reordenar_pub<-reordenar_pub[!is.na(reordenar_pub)] df2<-df2[,reordenar_pub] for(id in df2$id){ # inclui contagem na tabela cruzada df2[df2$id == id, as.character(df[df$id == id, ]$tipo)] <- df[df$id == id, ]$n } df2 <- df2[order(df2$nome), 2:ncol(df2)] # ordena por nome # inclui linha para o somatório por tipo df2 <- rbind(df2, c(0, colSums(cbind(df2[ , 2:ncol(df2)],0)))) # inclui coluna para o somatório por nome df2 <- cbind(df2, rowSums(cbind(df2[ , 2:ncol(df2)],0))) names(df2)[ncol(df2)] <- "TOTAL" df2[nrow(df2), 1] <- "QTD. PUBLICAÇÕES" } else { df2 <- data.frame(nome="----------", TOTAL=0) df2 <- rbind(df2, data.frame(nome="QTD. PUBLICAÇÕES", TOTAL=0)) } #df2$nome[1:(length(df2$nome)-1)]<-"XXXXX" kable(df2, caption = paste0("Publicação Docente por Tipo ", "(", ano_ini, "-", ano_fim, ")"), format = "pandoc", row.names = FALSE) cat("A1-C Qualis CAPES, NC não classificado, CL capítulo de livro, L livro") cat("\n\n\n") ###--------------------------------------------------- inicio Tabela INDICADORES ###----- cada indicador aparece ao final de cada item indicadores <- data.frame(indicador = "Índice de Publicação", Total = df2[nrow(df2), ncol(df2)], Docente = df2[nrow(df2), ncol(df2)]/n_docentes) # if("A1" %in% names(df2)){ # indicadores <- rbind(indicadores, # data.frame(indicador = "Índice de Publicação Super Qualificada (Qualis A1)", # Total = df2[nrow(df2), 2], # Docente = df2[nrow(df2), 2] / n_docentes)) # } ###-------------------------------------------------- Publicação docente por ano # Artigos df.ar <- producao_artigos %>% select(id, nome, equipe, estrato_, ano) %>% filter(ano %in% (ano_ini:ano_fim)) names(df.ar)[names(df.ar) == 'estrato_'] <- 'tipo' df.li<- producao_livros %>% select(id, nome, equipe, tipo, ano) %>% filter(ano %in% (ano_ini:ano_fim)) df.li$tipo[li$tipo == "LIVRO_ORGANIZADO_OU_EDICAO"]<- "L" df.li$tipo[li$tipo == "LIVRO_PUBLICADO"]<- "L" df.li$tipo[li$tipo == "Capitulo de livro publicado"]<- "CL" # Artigos + Livros df.arli<-bind_rows(df.ar,df.li) df.arli<-arrange(df.arli,nome) df <- df.arli %>% group_by(id, nome, ano) %>% summarise(n = n()) %>% arrange(nome, as.character(ano)) df$ano <- as.factor(str_trim(df$ano)) # remove espacos ano <- as.character(levels(df$ano)) if(length(ano) > 0){ df2 <- cbind(clattes[, c("id","nome")], matrix(0, nrow(clattes), length(ano))) names(df2) <- c("id","nome", ano) for(id in df2$id){ # inclui contagem na tabela cruzada df2[df2$id == id, as.character(df[df$id == id, ]$ano)] <- df[df$id == id, ]$n } df2 <- df2[order(df2$nome), 2:ncol(df2)] # ordena por nome # inclui linha para o somatório por ano df2 <- rbind(df2, c(0, colSums(cbind(df2[ , 2:ncol(df2)],0)))) # inclui coluna para o somatório por nome df2 <- cbind(df2, rowSums(cbind(df2[ , 2:ncol(df2)],0))) names(df2)[ncol(df2)] <- "TOTAL" df2[nrow(df2), 1] <- "QTD. PUBLICAÇÕES" } else { df2 <- data.frame(nome="----------", TOTAL=0) df2 <- rbind(df2, data.frame(nome="QTD. PUBLICAÇÕES", TOTAL=0)) } #df2$nome[1:(length(df2$nome)-1)]<-"XXXXX" kable(df2, caption = paste0("Publicação Docente por Ano ", "(", ano_ini, "-", ano_fim, ")"), format = "pandoc", row.names = FALSE) ###----------------------------------------------------- Publicacao COM discente # Artigos ar <- producao_artigos %>% select(id, nome, equipe, estrato_, ano) %>% filter(equipe == "Discente" & (ano %in% (ano_ini:ano_fim))) names(ar)[names(ar) == 'estrato_'] <- 'tipo' li<- producao_livros %>% select(id, nome, equipe, tipo, ano) %>% filter(equipe == "Discente" & (ano %in% (ano_ini:ano_fim))) li$tipo[li$tipo == "LIVRO_ORGANIZADO_OU_EDICAO"]<- "L" li$tipo[li$tipo == "LIVRO_PUBLICADO"]<- "L" li$tipo[li$tipo == "Capitulo de livro publicado"]<- "CL" # Artigos + Livros df<-bind_rows(ar,li) df<-arrange(df,nome) df <- df %>% group_by(id, nome, tipo) %>% summarise(n = n()) %>% arrange(nome, as.character(tipo)) df$tipo <- as.factor(str_trim(df$tipo)) tipo <- as.character(levels(df$tipo)) if(length(tipo) > 0){ df2 <- cbind(clattes[, c("id","nome")], matrix(0, nrow(clattes), length(tipo))) names(df2) <- c("id","nome", tipo) todas_pub<- c("id","nome","A1","A2","A3","A4","B1","B2","B3","B4","C", "NC", "CL", "L") reordenar_pub<-match(todas_pub, names(df2)) reordenar_pub<-reordenar_pub[!is.na(reordenar_pub)] df2<-df2[,reordenar_pub] for(id in df2$id){ # inclui contagem na tabela cruzada df2[df2$id == id, as.character(df[df$id == id, ]$tipo)] <- df[df$id == id, ]$n } df2 <- df2[order(df2$nome), 2:ncol(df2)] # ordena por nome # inclui linha para o somatório por tipo df2 <- rbind(df2, c(0, colSums(cbind(df2[ , 2:ncol(df2)],0)))) # inclui coluna para o somatório por nome df2 <- cbind(df2, rowSums(cbind(df2[ , 2:ncol(df2)],0))) names(df2)[ncol(df2)] <- "TOTAL" df2[nrow(df2), 1] <- "QTD. PUBLICAÇÕES" } else { df2 <- data.frame(nome="----------", TOTAL=0) df2 <- rbind(df2, data.frame(nome="QTD. PUBLICAÇÕES", TOTAL=0)) } ###----- indicador indicadores <- rbind(indicadores, data.frame(indicador = "Índice de Publicação com Discente", Total = df2[nrow(df2), ncol(df2)], Docente = df2[nrow(df2), ncol(df2)]/n_docentes)) # if("A1" %in% names(df2)){ # indicadores <- rbind(indicadores, # data.frame(indicador = "Índice de Publicação Super Qualificada (Qualis A1) com Discente", # Total = df2[nrow(df2), 2], # Docente = df2[nrow(df2),2] / n_docentes)) # } #df2$nome[1:(length(df2$nome)-1)]<-"XXXXX" kable(df2, caption = paste0("Publicação COM DISCENTE por Tipo ", "(", ano_ini, "-", ano_fim, ")"), format = "pandoc", row.names = FALSE) cat("A1-C Qualis CAPES, NC não classificado, CL capítulo de livro, L livro") cat("\n\n\n") ###--------------------------------------------- Publicação com discente por ano # Artigos ar <- producao_artigos %>% select(id, nome, equipe, ano) %>% filter(equipe == "Discente" & (ano %in% (ano_ini:ano_fim))) li<- producao_livros %>% select(id, nome, equipe, ano) %>% filter(equipe == "Discente" & (ano %in% (ano_ini:ano_fim))) # Artigos + Livros #df<-inner_join(ar, li) df<-bind_rows(ar,li) df<-arrange(df,nome) df <- df %>% group_by(id, nome, ano) %>% summarise(n = n()) %>% arrange(nome, as.character(ano)) df$ano <- as.factor(str_trim(df$ano)) # remove espacos ano <- as.character(levels(df$ano)) if(length(ano) > 0){ df2 <- cbind(clattes[, c("id","nome")], matrix(0, nrow(clattes), length(ano))) names(df2) <- c("id","nome", ano) for(id in df2$id){ # inclui contagem na tabela cruzada df2[df2$id == id, as.character(df[df$id == id, ]$ano)] <- df[df$id == id, ]$n } df2 <- df2[order(df2$nome), 2:ncol(df2)] # ordena por nome # inclui linha para o somatório por ano df2 <- rbind(df2, c(0, colSums(cbind(df2[ , 2:ncol(df2)],0)))) # inclui coluna para o somatório por nome df2 <- cbind(df2, rowSums(cbind(df2[ , 2:ncol(df2)],0))) names(df2)[ncol(df2)] <- "TOTAL" df2[nrow(df2), 1] <- "QTD. PUBLICAÇÕES" } else { df2 <- data.frame(nome="----------", TOTAL=0) df2 <- rbind(df2, data.frame(nome="QTD. PUBLICAÇÕES", TOTAL=0)) } #df2$nome[1:(length(df2$nome)-1)]<-"XXXXX" kable(df2, caption = paste0("Publicação COM DISCENTE por Ano ", "(", ano_ini, "-", ano_fim, ")"), format = "pandoc", row.names = FALSE) ###------------------------------------------------------- Publicacao em eventos producao_tanais$natureza[producao_tanais$natureza == "completo"] <- "Trabalho Completo" producao_tanais$natureza[producao_tanais$natureza == "resumo_expandido"] <- "Resumo Expandido" producao_tanais$natureza[producao_tanais$natureza == "resumo"] <- "Resumo" df <- producao_tanais %>% select(id, equipe, natureza) %>% filter(equipe != 'TOTAL') %>% group_by(id, natureza) %>% summarise(n = n()) %>% arrange(id, as.character(natureza)) natureza <- as.character(levels(as.factor(as.character(df$natureza)))) # se houver alguma publicacao com estrato qualis if(length(natureza) > 0){ df2 <- cbind(clattes[, c("id","nome")], matrix(0, nrow(clattes), length(natureza))) names(df2) <- c("id","nome", natureza) for(id in df2$id){ # inclui contagem na tabela cruzada df2[df2$id == id, as.character(df[df$id == id, ]$natureza)] <- df[df$id == id, ]$n } # inclui coluna Total df2$TOTAL <- rowSums(df2[ ,3:ncol(df2)]) # inclui coluna "com discente" ptacdis <- producao_tanais %>% select(id, equipe) %>% filter(equipe != 'TOTAL') %>% filter(equipe == "Discente") %>% group_by(id) %>% summarise(n = n()) df2<-left_join(df2,ptacdis) df2[is.na(df2)]<-0 names(df2)[names(df2) == "n"]<-"Com DISCENTE" #df2[nrow(df2),ncol(df2)]<-sum(df2$n,na.rm = TRUE) df2 <- df2[order(df2$nome), 2:ncol(df2)] # ordena por nome e remove id # inclui linha para o somatório df2 <- rbind(df2, c(0, colSums(cbind(df2[ , 2:ncol(df2)])))) df2[nrow(df2), 1] <- "QTD. PUBLICAÇÕES" } else { df2 <- data.frame(nome="----------", TOTAL=0) df2 <- rbind(df2, data.frame(nome="QTD. PUBLICAÇÕES", TOTAL=0)) # df2 <- rbind(df2, data.frame(nome="PONTUAÇÃO", TOTAL=0)) } #df2$nome[1:(length(df2$nome)-1)]<-"XXXXX" kable(df2, caption = paste0("Publicação em Eventos por Tipo e com DISCENTE (", ano_ini, "-", ano_fim, ")"), format = "pandoc", row.names = FALSE) indicadores <- rbind(indicadores, data.frame(indicador = "Indicador de Publicação em Eventos", Total = df2$TOTAL[nrow(df2)], Docente = df2$TOTAL[nrow(df2)]/n_docentes)) indicadores <- rbind(indicadores, data.frame(indicador = "Indicador de Publicação em Eventos com Discente", Total = df2[nrow(df2), ncol(df2)], Docente = df2[nrow(df2), ncol(df2)]/n_docentes)) ###------------------------------------------------------------------------- PTT df <- producao_tecnica %>% select(id, PTT, ano) %>% # filter(PTT != "--" & (ano %in% (ano_ini:ano_fim))) %>% filter(ano %in% (ano_ini:ano_fim)) %>% group_by(id, PTT) %>% summarise(n = n()) %>% arrange(id, as.character(PTT)) PTT <- as.character(levels(as.factor(as.character(df$PTT)))) # se houver alguma producao tecnica com PTT if(length(PTT) > 0){ df2 <- cbind(clattes[, c("id","nome")], matrix(0, nrow(clattes), length(PTT))) names(df2) <- c("id","nome", PTT) for(id in df2$id){ # inclui contagem na tabela cruzada df2[df2$id == id, as.character(df[df$id == id, ]$PTT)] <- df[df$id == id, ]$n } df2 <- df2[order(df2$nome), 2:ncol(df2)] # ordena por nome # inclui linha para o somatório de prod. ténica por estrato df2 <- rbind(df2, c(0, colSums(cbind(df2[ , 2:ncol(df2)],0)))) # inclui coluna para o somatorio de p. tecnica por nome df2 <- cbind(df2, rowSums(cbind(df2[ , 2:ncol(df2)],0))) names(df2)[ncol(df2)] <- "TOT" df2[nrow(df2), 1] <- "QTD. PTTs" } else { df2 <- data.frame(nome="----------", TOTAL=0) df2 <- rbind(df2, data.frame(nome="QTD. PTTs", TOTAL=0)) } indicadores <- rbind(indicadores, data.frame(indicador = "Indicador de Produção Técnica", Total = df2[nrow(df2), ncol(df2)], Docente = df2[nrow(df2), ncol(df2)]/n_docentes)) #df2$nome[1:(length(df2$nome)-1)]<-"XXXXX" kable(df2, caption = paste0("Produção Técnica ou Tecnológica por Tipo (", ano_ini, "-", ano_fim, ")"), format = "pandoc", row.names = FALSE) cat("– Não Classificado, ArDI Artigo de Divulgação - Internacional, ArDN Artigo de Divulgação - Nacional, CForD Curso de Formação - Docente, CForO curso de Formação - Organizador, Edit Editoria, Map Mapas, MatDid Material Didático, MidOr Midia Social - Organizador, MidPa Midia Social - Participante, OEI Organizador de Evento Internacional, OEN Organizador de Evento Nacional, Patent Patente, PEPal apresentação - Palestras, PEPos Apresetação - Painel, RelTec Relatório Técnico") ### Produção técnica POR ANO df <- producao_tecnica %>% select(id, ano) %>% filter(ano %in% (ano_ini:ano_fim)) %>% group_by(id, ano) %>% summarise(n = n()) %>% arrange(nome, as.character(ano)) df$ano <- as.factor(str_trim(df$ano)) # remove espacos ano <- as.character(levels(df$ano)) #ano <- as.character(levels(as.factor(as.character(df$ano)))) if(length(ano) > 0){ df2 <- cbind(clattes[, c("id","nome")], matrix(0, nrow(clattes), length(ano))) names(df2) <- c("id","nome", ano) for(id in df2$id){ # inclui contagem na tabela cruzada df2[df2$id == id, as.character(df[df$id == id, ]$ano)] <- df[df$id == id, ]$n } df2 <- df2[order(df2$nome), 2:ncol(df2)] # ordena por nome # inclui linha para o somatório de prod. ténica por estrato df2 <- rbind(df2, c(0, colSums(cbind(df2[ , 2:ncol(df2)],0)))) # inclui coluna para o somatorio de p. tecnica por nome df2 <- cbind(df2, rowSums(cbind(df2[ , 2:ncol(df2)],0))) names(df2)[ncol(df2)] <- "TOT" df2[nrow(df2), 1] <- "QTD. PTTs" } else { df2 <- data.frame(nome="----------", TOTAL=0) df2 <- rbind(df2, data.frame(nome="QTD. PTTs", TOTAL=0)) } #df2$nome[1:(length(df2$nome)-1)]<-"XXXXX" kable(df2, caption = paste0("Produção Técnica ou Tecnológica por Ano (", ano_ini, "-", ano_fim, ")"), format = "pandoc", row.names = FALSE) ####--------------------------------------------------------------- Orientações producao_orientacoes$nivel[producao_orientacoes$nivel == "orientacao-de-outra-natureza" | producao_orientacoes$nivel == "orientacao de outra natureza"] <- "tutoria" producao_orientacoes$nivel[producao_orientacoes$nivel == "iniciacao cientifica"] <- "ic" producao_orientacoes$nivel[producao_orientacoes$nivel == "trabalho de conclusao de curso de graduacao" | producao_orientacoes$nivel == "trabalho de conclusao de curso graduacao"]<- "tcc" producao_orientacoes$nivel[producao_orientacoes$nivel == "dissertacao de mestrado"] <- "dissertacao" producao_orientacoes$nivel[producao_orientacoes$nivel == "tese de doutorado"] <- "tese" producao_orientacoes$nivel[producao_orientacoes$nivel == "supervisao de pos-doutorado"] <- "pos-doc" producao_orientacoes$nivel[producao_orientacoes$nivel == "monografia de conclusao de curso aperfeicoamento e especializacao"] <- "monografia" ###---------------------------------------------------- orientacoes em andamento df <- producao_orientacoes %>% select(id, nivel, situacao, ano, instituicao, curso) %>% filter(ano %in% ano_ini:ano_fim, nivel %in% c("monografia",'dissertacao', 'tese'), situacao %in% c("andamento"), instituicao %in% nome_instituicao, curso %in% nome_ppg ) %>% group_by(id, nivel) %>% summarise(n = n()) %>% arrange(id, as.character(nivel)) nivel <- as.character(levels(as.factor(as.character(df$nivel)))) # se houver alguma producao no respectivo nivel if(length(nivel) > 0){ # se houver alguma publicacao com estrato qualis df2 <- cbind(clattes[, c("id","nome")], matrix(0, nrow(clattes), length(nivel))) names(df2) <- c("id","nome",nivel) todas_ori<- c("id","nome","tutoria","ic","tcc","monografia","dissertacao","tese","pos-doc") reordenar_ori<-match(todas_ori, names(df2)) reordenar_ori<-reordenar_ori[!is.na(reordenar_ori)] df2<-df2[,reordenar_ori] for(id in df2$id){ # inclui contagem na tabela cruzada df2[df2$id == id, as.character(df[df$id == id, ]$nivel)] <- df[df$id == id, ]$n } df2 <- df2[order(df2$nome), 2:ncol(df2)] # ordena por nome # inclui linha para o somatório por nivel df2 <- rbind(df2, c(0, colSums(cbind(df2[ , 2:ncol(df2)],0)))) # df2 <- rbind(df2, c(0, colSums(cbind(df2[ , 2:ncol(df2)])))) # df2[nrow(df2), 1] <- "QTD. ORIENTACOES" # inclui coluna para o somatorio do nivel por nome df2 <- cbind(df2, rowSums(cbind(df2[ , 2:ncol(df2)],0))) names(df2)[ncol(df2)] <- "TOTAL" df2[nrow(df2), 1] <- "QTD. ORIENTACOES" # } else { df2 <- data.frame(nome="----------", TOTAL=0) df2 <- rbind(df2, data.frame(nome="QTD. ORIENTACÔES", TOTAL=0)) } #df2$nome[1:(length(df2$nome)-1)]<-"XXXXX" kable(df2, caption = paste0("Orientações em Andamento no PPG por Curso (", ano_ini, "-", ano_fim, ")"), format = "pandoc", row.names = FALSE) ###----- indicadores <- rbind(indicadores, data.frame(indicador = "Indicador de Orientação de Dissertação (andamento)", Total = df2$dissertacao[nrow(df2)], Docente = df2$dissertacao[nrow(df2)]/n_docentes)) if(!is.null(df2$tese)) { indicadores <- rbind(indicadores, data.frame(indicador = "Indicador de Orientação de Tese (andamento)", Total = df2$tese[nrow(df2)], Docente = df2$tese[nrow(df2)]/n_docentes)) } ####------------------------------------------- Orientaçoes em andamento POR ANO df <- producao_orientacoes %>% select(id, ano, nivel, situacao, instituicao, curso) %>% filter(ano %in% ano_ini:ano_fim, nivel %in% c("monografia",'dissertacao', 'tese'), situacao %in% c("andamento"), instituicao %in% nome_instituicao, curso %in% nome_ppg ) %>% group_by(id, ano) %>% summarise(n = n()) %>% arrange(nome, as.character(ano)) df$ano <- as.factor(str_trim(df$ano)) # remove espacos ano <- as.character(levels(df$ano)) if(length(ano) > 0){ df2 <- cbind(clattes[, c("id","nome")], matrix(0, nrow(clattes), length(ano))) names(df2) <- c("id","nome", ano) for(id in df2$id){ # inclui contagem na tabela cruzada df2[df2$id == id, as.character(df[df$id == id, ]$ano)] <- df[df$id == id, ]$n } df2 <- df2[order(df2$nome), 2:ncol(df2)] # ordena por nome # inclui linha para o somatório de prod. ténica por estrato df2 <- rbind(df2, c(0, colSums(cbind(df2[ , 2:ncol(df2)],0)))) # inclui coluna para o somatorio de p. tecnica por nome df2 <- cbind(df2, rowSums(cbind(df2[ , 2:ncol(df2)],0))) names(df2)[ncol(df2)] <- "TOT" df2[nrow(df2), 1] <- "QTD. ORIENTACÔES" } else { df2 <- data.frame(nome="----------", TOTAL=0) df2 <- rbind(df2, data.frame(nome="QTD. ORIENTACÕES", TOTAL=0)) } #df2$nome[1:(length(df2$nome)-1)]<-"XXXXX" kable(df2, caption = paste0("Orientações em Andamento no PPG por Ano (", ano_ini, "-", ano_fim, ")"), format = "pandoc", row.names = FALSE) ###-------------------------------------------------------- Defesas - Titulacoes df <- producao_orientacoes %>% select(id, nivel, situacao, ano, instituicao, curso) %>% filter(ano %in% ano_ini:ano_fim, nivel %in% c("monografia",'dissertacao', 'tese'), situacao %in% c("concluida"), instituicao %in% nome_instituicao, curso %in% nome_ppg ) %>% group_by(id, nivel) %>% summarise(n = n()) %>% arrange(id, as.character(nivel)) nivel <- as.character(levels(as.factor(as.character(df$nivel)))) # se houver alguma producao no respectivo nivel if(length(nivel) > 0){ # se houver alguma publicacao com estrato qualis df2 <- cbind(clattes[, c("id","nome")], matrix(0, nrow(clattes), length(nivel))) names(df2) <- c("id","nome",nivel) todas_ori<- c("id","nome","tutoria","ic","tcc","monografia","dissertacao","tese","pos-doc") reordenar_ori<-match(todas_ori, names(df2)) reordenar_ori<-reordenar_ori[!is.na(reordenar_ori)] df2<-df2[,reordenar_ori] for(id in df2$id){ # inclui contagem na tabela cruzada df2[df2$id == id, as.character(df[df$id == id, ]$nivel)] <- df[df$id == id, ]$n } df2 <- df2[order(df2$nome), 2:ncol(df2)] # ordena por nome # inclui linha para o somatório por nivel df2 <- rbind(df2, c(0, colSums(cbind(df2[ , 2:ncol(df2)],0)))) # df2 <- rbind(df2, c(0, colSums(cbind(df2[ , 2:ncol(df2)])))) # df2[nrow(df2), 1] <- "QTD. ORIENTACOES" # inclui coluna para o somatorio do nivel por nome df2 <- cbind(df2, rowSums(cbind(df2[ , 2:ncol(df2)],0))) names(df2)[ncol(df2)] <- "TOTAL" df2[nrow(df2), 1] <- "QTD. ORIENTACÕES" # } else { df2 <- data.frame(nome="----------", TOTAL=0) df2 <- rbind(df2, data.frame(nome="QTD. ORIENTACOES", TOTAL=0)) } #df2$nome[1:(length(df2$nome)-1)]<-"XXXXX" kable(df2, caption = paste0("Orientações Concluídas no PPG por Curso (", ano_ini, "-", ano_fim, ")"), format = "pandoc", row.names = FALSE) indicadores <- rbind(indicadores, data.frame(indicador = "Indicador de Orientação de Dissertação (concluida)", Total = df2$dissertacao[nrow(df2)], Docente = df2$dissertacao[nrow(df2)]/n_docentes)) if(!is.null(df2$tese)) { indicadores <- rbind(indicadores, data.frame(indicador = "Indicador de Orientação de Tese (concluida)", Total = df2$tese[nrow(df2)], Docente = df2$tese[nrow(df2)]/n_docentes)) } ###---------------------------------------------------------- Titulações POR ANO df <- producao_orientacoes %>% select(id, ano, nivel, situacao, instituicao, curso) %>% filter(ano %in% ano_ini:ano_fim, nivel %in% c("monografia",'dissertacao', 'tese'), situacao %in% c("concluida"), instituicao %in% nome_instituicao, curso %in% nome_ppg ) %>% group_by(id, ano) %>% summarise(n = n()) %>% arrange(nome, as.character(ano)) df$ano <- as.factor(str_trim(df$ano)) # remove espacos ano <- as.character(levels(df$ano)) if(length(ano) > 0){ df2 <- cbind(clattes[, c("id","nome")], matrix(0, nrow(clattes), length(ano))) names(df2) <- c("id","nome", ano) for(id in df2$id){ # inclui contagem na tabela cruzada df2[df2$id == id, as.character(df[df$id == id, ]$ano)] <- df[df$id == id, ]$n } df2 <- df2[order(df2$nome), 2:ncol(df2)] # ordena por nome # inclui linha para o somatório de prod. ténica por estrato df2 <- rbind(df2, c(0, colSums(cbind(df2[ , 2:ncol(df2)],0)))) # inclui coluna para o somatorio de p. tecnica por nome df2 <- cbind(df2, rowSums(cbind(df2[ , 2:ncol(df2)],0))) names(df2)[ncol(df2)] <- "TOT" df2[nrow(df2), 1] <- "QTD. ORIENTACÕES" } else { df2 <- data.frame(nome="----------", TOTAL=0) df2 <- rbind(df2, data.frame(nome="QTD. ORIENTAÇÂO", TOTAL=0)) } #df2$nome[1:(length(df2$nome)-1)]<-"XXXXX" kable(df2, caption = paste0("Orientações Concluídas no PPG por Ano (", ano_ini, "-", ano_fim, ")"), format = "pandoc", row.names = FALSE) ###---------------------------------------------- Todas as orientacoes por nivel df <- producao_orientacoes %>% # select(id, nivel, situacao, ano) %>% select(id, nivel, ano) %>% filter(ano %in% ano_ini:ano_fim) %>% group_by(id, nivel) %>% summarise(n = n()) %>% arrange(id, as.character(nivel)) nivel <- as.character(levels(as.factor(as.character(df$nivel)))) # se houver alguma producao no respectivo nivel if(length(nivel) > 0){ # se houver alguma publicacao com estrato qualis df2 <- cbind(clattes[, c("id","nome")], matrix(0, nrow(clattes), length(nivel))) names(df2) <- c("id","nome",nivel) todas_ori<- c("id","nome","tutoria","ic","tcc","monografia","dissertacao","tese","pos-doc") reordenar_ori<-match(todas_ori, names(df2)) reordenar_ori<-reordenar_ori[!is.na(reordenar_ori)] df2<-df2[,reordenar_ori] for(id in df2$id){ # inclui contagem na tabela cruzada df2[df2$id == id, as.character(df[df$id == id, ]$nivel)] <- df[df$id == id, ]$n } df2 <- df2[order(df2$nome), 2:ncol(df2)] # ordena por nome # inclui linha para o somatório por nivel df2 <- rbind(df2, c(0, colSums(cbind(df2[ , 2:ncol(df2)],0)))) # inclui coluna para o somatorio do nivel por nome df2 <- cbind(df2, rowSums(cbind(df2[ , 2:ncol(df2)],0))) names(df2)[ncol(df2)] <- "TOTAL" df2[nrow(df2), 1] <- "QTD. ORIENTACÕES" # } else { df2 <- data.frame(nome="----------", TOTAL=0) df2 <- rbind(df2, data.frame(nome="QTD. ORIENTACÕES", TOTAL=0)) } #df2$nome[1:(length(df2$nome)-1)]<-"XXXXX" kable(df2, caption = paste0("Todas as Orientações do Docente (", ano_ini, "-", ano_fim, ")"), format = "pandoc", row.names = FALSE) ####------------------------------------------------------- Projetos de pesquisa df <- producao_projetos %>% select(id, coordenador, financiado) %>% filter(coordenador != '', financiado != '') %>% group_by(id, coordenador, financiado) %>% summarise(n = n()) df$cf<- paste0(df$coordenador," ", df$financiado) df$cf[df$cf == "NAO NAO"]<-"Participante sem recurso" df$cf[df$cf == "NAO SIM"]<- "Participante com recurso" df$cf[df$cf == "SIM NAO"]<- "Coordenador sem recurso" df$cf[df$cf == "SIM SIM"]<- "Coordenador com recurso" cf <- as.character(levels(as.factor(as.character(df$cf)))) # se houver alguma publicacao com estrato qualis if(length(cf) > 0){ df2 <- cbind(clattes[, c("id","nome")], matrix(0, nrow(clattes), length(cf))) names(df2) <- c("id","nome", cf) for(id in df2$id){ # inclui contagem na tabela cruzada df2[df2$id == id, as.character(df[df$id == id, ]$cf)] <- df[df$id == id, ]$n } df2 <- df2[order(df2$nome), 2:ncol(df2)] # ordena por nome # inclui linha para o somatório por natureza df2 <- rbind(df2, c(0, colSums(cbind(df2[ , 2:ncol(df2)])))) df2[nrow(df2), 1] <- "QTD. PROJETOS" # inclui coluna para o somatório por nome df2 <- cbind(df2, rowSums(cbind(df2[ , 2:ncol(df2)],0))) names(df2)[ncol(df2)] <- "TOTAL" } else { df2 <- data.frame(nome="----------", TOTAL=0) df2 <- rbind(df2, data.frame(nome="QTD. PROJETOS", TOTAL=0)) } #df2$nome[1:(length(df2$nome)-1)]<-"XXXXX" kable(df2, caption = paste0("Projetos de Pesquisa (", ano_ini, "-", ano_fim, ")"), format = "pandoc", row.names = FALSE) indicadores <- rbind(indicadores, data.frame(indicador = "Indicador de Projetos de Pesquisa", Total = df2$TOTAL[nrow(df2)], Docente = df2$TOTAL[nrow(df2)]/n_docentes)) ###----------------------------------------------------------------- Intercambio df <- producao_posdoc %>% select(id, instituicao) %>% filter(instituicao != 'TOTAL') %>% group_by(id) %>% summarise(n1 = n()) df2 <- producao_pvecd %>% select(id, vinculo) %>% filter(vinculo != 'TOTAL') %>% group_by(id) %>% summarise(n2 = n()) df <- as.data.frame(full_join(df,df2)) df[is.na(df)]<-0 df$TOTAL<-as.numeric(df$n1) + as.numeric(df$n2) df <- merge(df,clattes[, c('id','nome')]) df <- df[,c('nome', 'TOTAL')] df <- df %>% arrange(nome) #soma.ind<-sum(as.numeric(df$TOTAL), na.rm = TRUE) / n_docentes ind.inter<- data.frame("Indicador de Intercambio", sum(as.numeric(df$TOTAL), na.rm = TRUE), sum(as.numeric(df$TOTAL), na.rm = TRUE) / n_docentes) names(ind.inter)<-c("indicador","Total", "Docente") indicadores <- rbind(indicadores,ind.inter) df <- rbind(df, data.frame("nome" = "QTD. INTERCÂMBIOS", "TOTAL" = sum(as.numeric(df$TOTAL), na.rm = TRUE))) #df$nome[1:(length(df$nome)-1)]<-"XXXXX" kable(df, caption = paste0("Intercâmbios Realizados (Pós-doc, Prof Visitante, Afastamento de Curta Duração) (", ano_ini, "-", ano_fim, ")"), format = "pandoc", row.names = FALSE) ###--------------------------------------------------------------------- Premios df <- producao_premio %>% select(id, titulo) %>% filter(titulo != 'TOTAL') %>% group_by(id) %>% summarise(TOTAL = n()) df <- merge(df,clattes[, c('id','nome')]) df <- df[,c('nome', 'TOTAL')] df <- df %>% arrange(nome) ind.inter<- data.frame("Indicador de Prêmios e distinções", sum(as.numeric(df$TOTAL),na.rm = TRUE), sum(as.numeric(df$TOTAL),na.rm = TRUE)/n_docentes) names(ind.inter)<-c("indicador","Total", "Docente") indicadores <- rbind(indicadores,ind.inter) # cria a linha dos totais df <- rbind(df, data.frame(nome = "QTD.PREMIAÇÕES", TOTAL = sum(as.numeric(df$TOTAL)))) #df$nome[1:(length(df$nome)-1)]<-"XXXXX" kable(df, caption = paste0("Docentes com Premiação ou Distinção (", ano_ini, "-", ano_fim, ")"), format = "pandoc", row.names = FALSE) ###---------------------------------------------------------- INDICADORES GERAIS cat("### INDICADORES GERAIS") cat("\n\n\n") #indicadores$Total <- round(indicadores$Total, 2) indicadores$Docente <- round(indicadores$Docente, 2) kable(indicadores, caption = paste0("Indicadores da Produção (", ano_ini, "-", ano_fim, ")"), format = "pandoc", row.names = FALSE) #cat("\n\n\n") ####---------------------------------------------------------------------------- ####---------------------------------------------------------------------------- ####---------------------------- RELATORIO DETALHADO DA PRODUÇÃO DE CADA DOCENTE cat("\n\n\n") cat("### RELATÓRIO POR DOCENTE") cat("\n\n\n") ###------------------------------------ Destaque da Produçao (informada no Lattes) for(i in 1:nrow(clattes)){ # data,frame das producoes relevantes dprl <- data.frame(ano=NULL, tipo=NULL, titulo=NULL, observacao=NULL) # producao de artigos dfpa<-producao_artigos[producao_artigos$id == clattes[i, "id"] & !(producao_artigos$flag_relevancia=="SIM" & !(producao_artigos$ano %in% ano_ini:ano_fim)), 3:9] dfpa<-dfpa[dfpa$equipe != "TOTAL", ] if(!is.null(dfpa$ano)) {dfpa<-arrange(dfpa,desc(ano))} if(nrow(dfpa) == 0) {dfpa <- data.frame(observacao="Não há produção no período")} # producao relevante de artigos dprl_aux <- producao_artigos[producao_artigos$id == clattes[i, "id"] & producao_artigos$flag_relevancia=="SIM", c("ano","titulo", "periodico","estrato_")] if(nrow(dprl_aux) > 0){ dprl_aux$tipo <- "ARTIGO" dprl_aux$observacao <- paste0("(",dprl_aux$estrato_,") - ", dprl_aux$periodico) dprl <- rbind(dprl, dprl_aux[,c("ano","tipo","titulo","observacao")]) } # producao de livros dfpl <- producao_livros[producao_livros$id == clattes[i, "id"] & !(producao_livros$flag_relevancia=="SIM" & !(producao_livros$ano %in% ano_ini:ano_fim)), 3:10] dfpl<-dfpl[dfpl$equipe != "TOTAL", ] dfpl$estrato_<-NULL if(!is.null(dfpl$ano)) {dfpl<-arrange(dfpl,desc(ano))} if(nrow(dfpl) == 0){dfpl <- data.frame(observacao="Não há produção no período")} # producao relevante de livros dprl_aux <- producao_livros[producao_livros$id == clattes[i, "id"] & producao_livros$flag_relevancia=="SIM", c("ano","tipo","titulo", "editora", "estrato_")] if(nrow(dprl_aux) > 0){ dprl_aux$observacao <- paste0("(",dprl_aux$estrato_,") - ", dprl_aux$editora) dprl <- rbind(dprl, dprl_aux[,c("ano","tipo","titulo","observacao")]) } # producao tecnica dftc <- producao_tecnica[producao_tecnica$id == clattes[i, "id"] & !(producao_tecnica$flag_relevancia=="SIM" & !(producao_tecnica$ano %in% ano_ini:ano_fim)), c(2:4)] if(!is.null(dftc$tipo)) {dftc<-arrange(dftc, desc(ano), desc(tipo))} if(is.null(dftc$id)) {dftc <- data.frame(observacao="Não há produção no período")} # producao tecnica relevante dprl_aux <- producao_tecnica[producao_tecnica$id == clattes[i, "id"] & producao_tecnica$flag_relevancia=="SIM", c("ano","tipo","titulo", "estrato_")] if(nrow(dprl_aux) > 0){ names(dprl_aux)[4] <- "observacao" dprl <- rbind(dprl, dprl_aux[,c("ano","tipo","titulo","observacao")]) } # producao orientacao dfor <- producao_orientacoes[producao_orientacoes$id == clattes[i, "id"] & !(producao_orientacoes$flag_relevancia=="SIM" & !(producao_orientacoes$ano %in% ano_ini:ano_fim)), 2:9] dfor<-dfor[dfor$instituicao != "TOTAL", ] if(!is.null(dfor$ano)) {dfor<-arrange(dfor,desc(ano),nivel,desc(situacao))} if(nrow(dfor) == 0) {dfor <- data.frame(observacao="Não há produção no período")} #dfor$orientando<-"XXXXX" # # Tabela Orientaçoes POR ANO #dforano<-dfor[1:nrow(dfor)-1,] #dforano <- dforano %>% # select(ano, nivel,situacao) %>% # group_by(ano,nivel, situacao) %>% # summarise(n = n()) # #if(length(unique(dforano$ano)) >1) { #dforano<-dforano %>% dcast(nivel*situacao ~ ano) #dforano[is.na(dforano)]<-0 #dforano$Total<-rowSums(dforano[,3:length(dforano)]) #if (nrow(dforano) > 1) dforano<- rbind(dforano, c("", "TOTAL",colSums(dforano[,3:length(dforano)]))) #} # producao relevante de orientacoes dprl_aux <- producao_orientacoes[producao_orientacoes$id == clattes[i, "id"] & producao_orientacoes$flag_relevancia=="SIM", c("ano","tipo","titulo", "nivel")] if(nrow(dprl_aux) > 0){ names(dprl_aux)[4] <- "observacao" dprl <- rbind(dprl, dprl_aux[,c("ano","tipo","titulo","observacao")]) } if(!is.null(dprl$ano)) {dprl<-arrange(dprl,desc(ano))} if(nrow(dprl) == 0) {dprl <- data.frame(observacao="Não há produção relevante informada")} # demais producoes dfba <- producao_bancas[producao_bancas$id == clattes[i, "id"], 2:7] dfba<-dfba[dfba$instituicao != "TOTAL", ] if(!is.null(dfba$ano)) {dfba<-arrange(dfba,desc(ano))} if(nrow(dfba) == 0) {dfba <- data.frame(observacao="Não há produção no período")} # if(!is.null(dfba$ano)) {dfba$candidato<-"XXXXX"} dfpr <- producao_projetos[producao_projetos$id == clattes[i, "id"], 2:7] dfpr<-dfpr[dfpr$financiador != "TOTAL", ] if(!is.null(dfpr$ano_ini)) {dfpr<-arrange(dfpr,desc(ano_ini),ano_fim)} if(nrow(dfpr) == 0) {dfpr <- data.frame(observacao="Não há produção no período")} dfct <- producao_coltec[producao_coltec$id == clattes[i, "id"], 2:5] dfct<-dfct[dfct$instituicao != "TOTAL", ] if(nrow(dfct) == 0) {dfct <- data.frame(observacao="Não há produção no período")} dfdi <- producao_disciplinas[producao_disciplinas$id == clattes[i, "id"], 2:9] dfdi<-dfdi[dfdi$curso != "TOTAL", ] if(!is.null(dfdi$ano_ini)) {dfdi<-arrange(dfdi,desc(ano_ini))} if(nrow(dfdi) == 0) {dfdi <- data.frame(observacao="Não há produção no período")} dfpe <- producao_premio[producao_premio$id == clattes[i, "id"], 2:4] dfpe<-dfpe[dfpe$titulo != "TOTAL", ] if(!is.null(dfpe$ano)) {dfpe<-arrange(dfpe,desc(ano))} if(nrow(dfpe) == 0) {dfpe <- data.frame(observacao="Não há produção no período")} dfpap<- producao_associada[producao_associada$id == clattes[i, "id"], 2:5] if(nrow(dfpap) == 0) {dfpap <- data.frame(observacao="Não há produção no período")} dfpev<- producao_tanais[producao_tanais$id == clattes[i, "id"], c(2:6,8)] dfpev<-dfpev[dfpev$equipe != "TOTAL", ] if(!is.null(dfpev$ano)) {dfpev<-arrange(dfpev,desc(ano))} if(nrow(dfpev) == 0) {dfpev <- data.frame(observacao="Não há produção no período")} dfpv <- producao_pvecd[producao_pvecd$id == clattes[i, "id"], 2:7] dfpv<-dfpv[dfpv$vinculo != "TOTAL", ] dfpd <- producao_posdoc[producao_posdoc$id == clattes[i, "id"], 2:5] dfpd<-dfpd[dfpd$instituicao != "TOTAL", ] names(dfpd)[names(dfpd) == 'formacao'] <- 'vinculo' dfpv_dfpd<-bind_rows(dfpv,dfpd) dfpv_dfpd[is.na(dfpv_dfpd)]<-"-" if(!is.null(dfpv_dfpd$ano_inicio)) {dfpv_dfpd<-arrange(dfpv_dfpd,desc(ano_inicio))} if(nrow(dfpv_dfpd) == 0) {dfpv_dfpd <- data.frame(observacao="Não há produção no período") } ###------------------------------------- Comando para impressao dos relatorios # cat(paste0("### ", "XXX_NOME_XXX")) cat(paste0("### ", clattes[i, "nome"])) cat("\n\n\n") # cat(paste0("#### Identificador: ", "XXXXXXX")) cat(paste0("#### Identificador: ", clattes[i, "id"])) cat("\n\n\n") cat(paste0("#### Data de referência: ", clattes[i, "data"])) cat("\n\n\n") cat(paste0("##### Linhas de pesquisa no PPG: ", clattes[i, "linhasp"])) cat("\n\n\n") print(kable(dprl, caption = "Produção Destacada Informada", format = "pandoc", row.names = FALSE)) cat("\n\n\n\n") print(kable(dfpa, caption = paste0("Produção Bibliográfica - Artigos (", ano_ini, "-", ano_fim, ")" ), format = "pandoc", row.names = FALSE)) cat("\n\n\n\n") print(kable(dfpl, caption = paste0("Produção Bibliográfica - Livros e Capítulos (", ano_ini, "-", ano_fim, ")" ), format = "pandoc", row.names = FALSE)) cat("\n\n\n\n") print(kable(dfpev, caption = paste0("Produção Bibliográfica - Trabalhos completos e resumos em eventos (", ano_ini, "-", ano_fim, ")" ), format = "pandoc", row.names = FALSE)) cat("\n\n\n\n") print(kable(dftc, caption = paste0("Produção Técnica (", ano_ini, "-", ano_fim, ")" ), format = "pandoc", row.names = FALSE)) cat("\n\n\n\n") print(kable(dfor, caption = paste0("Orientações (", ano_ini, "-", ano_fim, ")" ), format = "pandoc", row.names = FALSE)) cat("\n\n\n\n") # print(kable(dforano, caption = paste0("Orientações por Ano", " (", ano_ini, "-", ano_fim, ")"), format = "pandoc", row.names = #FALSE)) # cat("\n\n\n\n") print(kable(dfba, caption = paste0("Bancas (", ano_ini, "-", ano_fim, ")" ), format = "pandoc", row.names = FALSE)) cat("\n\n\n\n") print(kable(dfpr, caption = paste0("Projetos (", ano_ini, "-", ano_fim, ")" ), format = "pandoc", row.names = FALSE)) cat("\n\n\n\n") print(kable(dfpap, caption = paste0("Produções associadas aos Projetos de Pesquisa (", ano_ini, "-", ano_fim, ")" ), format = "pandoc", row.names = FALSE)) cat("\n\n\n\n") print(kable(dfct, caption = paste0("Colaboração Técnica (", ano_ini, "-", ano_fim, ")" ), format = "pandoc", row.names = FALSE)) cat("\n\n\n\n") print(kable(dfdi, caption = paste0("Disciplinas ministradas (", ano_ini, "-", ano_fim, ")" ), format = "pandoc", row.names = FALSE)) cat("\n\n\n\n") print(kable(dfpv_dfpd, caption = paste0("Intercâmbios (", ano_ini, "-", ano_fim, ")" ), format = "pandoc", row.names = FALSE)) cat("\n\n\n\n") print(kable(dfpe, caption = paste0("Premios e distincoes (", ano_ini, "-", ano_fim, ")" ), format = "pandoc", row.names = FALSE)) cat("\n\n\n\n") }
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.