This section describes the performance indexes considered in this analysis:
Total publications (TP). Total number of publications.
Total journal publications (TP\(_j\)). Total number of journal publications.
Total conference proceeding publications (TP\(_p\)). Total number of conference proceeding publications.
Percentage of journal publications (%TP\(_j\)). \(\frac{TP_j}{TP} \times 100\)
Percentage of conference proceeding publications (%TP\(_p\)). \(\frac{TP_p}{TP} \times 100\)
Average publications by academics (AP). Average number of manuscripts published by academic.
Average journal publications by academics (AP\(_j\)). Average number of manuscripts published in journals by academics.
Average conference proceeding publications by academic (AP\(_p\)). Average number of manuscripts published in conference proceedings by academics.
Average publications by year (APY). Average number of manuscripts published by year.
Average journal publications by year (AP\(_j\)Y). Average number of manuscripts published in journals by year.
Average conference proceeding publications by year (AP\(_p\)Y). Average number of manuscripts published in conference proceedings by year.
Number of active years of publications (NAY). Number of years that research constituent record a publication.
Productivity per active year of publication (PAY). \(\frac{TP}{NAY}\)
Total citations (TC). Total number of citations.
Average citations by publication (AC). \(\frac{TC}{TP}\)
Number of cited publications (NCP). Number of cited publications.
Proportion of cited publications (PCP). \(\frac{NCP}{TP}\)
Citations per cited publication (CPP). \(\frac{TC}{NCP}\)
This indexes can be calculated by using the next script:
#A) Lectura de datos
library("DT")
library("stringr")
= read.csv("BD/BD.csv",header=T,sep = ";",check.names = F)
datos = which(datos$Filiación_USACH=="SI") #Filiación a Biomédica
idx = datos[idx,]
datos_ftr $Año=as.numeric(datos_ftr$Año)
datos_ftr
#B) Filtros para indicadores en tablas
= "Universities" # "Universities, Universidad de Valparaíso, Universidad de Concepción,
sel_universidad # Universidad de Santiago de Chile"
= 0 # ALL, #unique(datos$Año)
sel_ano_ini = 2022
sel_ano_fin
if (sel_ano_ini!="ALL")
{= which((datos_ftr$Año>=sel_ano_ini) & (datos_ftr$Año<=sel_ano_fin))
idx =datos_ftr[idx,]
datos_ftr
}
#===================================================
#C) Creación de indicadores para universidades
#===================================================
if (sel_universidad=="Universities")
{
#-------------------
# 1) TP - Total publications
#-------------------
= rep(3,0)
TP 1] = length(datos_ftr$Universidad[which(datos_ftr$Universidad=="UV")])
TP[2] = length(datos_ftr$Universidad[which(datos_ftr$Universidad=="UdeC")])
TP[3] = length(datos_ftr$Universidad[which(datos_ftr$Universidad=="USACH")])
TP[
#------------------
# 2) TPj - Total journal publications
#-------------------
= rep(3,0)
TPj 1] = length(datos_ftr$Universidad[which((datos_ftr$Universidad=="UV") &
TPj[$`Tipo de documento`=="Article"))])
(datos_ftr2] = length(datos_ftr$Universidad[which((datos_ftr$Universidad=="UdeC")
TPj[& (datos_ftr$`Tipo de documento`=="Article"))])
3] = length(datos_ftr$Universidad[which((datos_ftr$Universidad=="USACH")
TPj[& (datos_ftr$`Tipo de documento`=="Article"))])
#------------------
# 3) TPp - Total conference proceeding publications
#-------------------
= rep(3,0)
TPp 1] = length(datos_ftr$Universidad[which((datos_ftr$Universidad=="UV") &
TPp[$`Tipo de documento`=="Conference Paper"))])
(datos_ftr2] = length(datos_ftr$Universidad[which((datos_ftr$Universidad=="UdeC") &
TPp[$`Tipo de documento`=="Conference Paper"))])
(datos_ftr3] = length(datos_ftr$Universidad[which((datos_ftr$Universidad=="USACH") &
TPp[$`Tipo de documento`=="Conference Paper"))])
(datos_ftr
#------------------
# 4) %TP$_j$ - Percentage of journal publications
#-------------------
= rep(3,0)
Per_TPj 1] = round((TPj[1]/TP[1]) * 100,1)
Per_TPj[2] = round((TPj[2]/TP[2]) * 100,1)
Per_TPj[3] = round((TPj[3]/TP[3]) * 100,1)
Per_TPj[
#------------------
# 5) %TP$_p$ - Percentage of conference proceeding publications
#-------------------
= rep(3,0)
Per_TPp1] = round((TPp[1]/TP[1]) * 100,1)
Per_TPp[2] = round((TPp[2]/TP[2]) * 100,1)
Per_TPp[3] = round((TPp[3]/TP[3]) * 100,1)
Per_TPp[
#------------------
# 6) AP - Average publications by academics
#-------------------
= rep(3,0)
AP 1] = round(TP[1]/length(unique(datos_ftr$Nombre[which(datos_ftr$Universidad=="UV")])),1)
AP[2] = round(TP[2]/length(unique(datos_ftr$Nombre[which(datos_ftr$Universidad=="UdeC")])),1)
AP[3] = round(TP[3]/length(unique(datos_ftr$Nombre[which(datos_ftr$Universidad=="USACH")])),1)
AP[
#------------------
# 7) APj - Average journal publications by academics
#-------------------
= rep(3,0)
APj 1] = round(TPj[1]/length(unique(datos_ftr$Nombre[which(datos_ftr$Universidad=="UV")])),1)
APj[2] = round(TPj[2]/length(unique(datos_ftr$Nombre[which(datos_ftr$Universidad=="UdeC")])),1)
APj[3] = round(TPj[3]/length(unique(datos_ftr$Nombre[which(datos_ftr$Universidad=="USACH")])),1)
APj[
#------------------
# 8) APp - Average conference proceeding publications by academic
#-------------------
= rep(3,0)
APp 1] = round(TPp[1]/length(unique(datos_ftr$Nombre[which(datos_ftr$Universidad=="UV")])),1)
APp[2] = round(TPp[2]/length(unique(datos_ftr$Nombre[which(datos_ftr$Universidad=="UdeC")])),1)
APp[3] = round(TPp[3]/length(unique(datos_ftr$Nombre[which(datos_ftr$Universidad=="USACH")])),1)
APp[
#------------------
# 9) APY - Average publications by year
#-------------------
= rep(3,0)
APY 1] = round(TP[1]/(max(as.numeric(datos_ftr$Año[which(datos_ftr$Universidad=="UV")]))-
APY[min(as.numeric(datos_ftr$Año[which(datos_ftr$Universidad=="UV")]))+1),1)
2] = round(TP[2]/(max(as.numeric(datos_ftr$Año[which(datos_ftr$Universidad=="UdeC")]))-
APY[min(as.numeric(datos_ftr$Año[which(datos_ftr$Universidad=="UdeC")]))+1),1)
3] = round(TP[3]/(max(as.numeric(datos_ftr$Año[which(datos_ftr$Universidad=="USACH")]))-
APY[min(as.numeric(datos_ftr$Año[which(datos_ftr$Universidad=="USACH")]))+1),1)
#------------------
# 10) APjY - Average journal publications by year
#-------------------
= rep(3,0)
APjY 1] = round(TPj[1]/(max(as.numeric(datos_ftr$Año[which(datos_ftr$Universidad=="UV")]))-
APjY[min(as.numeric(datos_ftr$Año[which(datos_ftr$Universidad=="UV")]))+1),1)
2] = round(TPj[2]/(max(as.numeric(datos_ftr$Año[which(datos_ftr$Universidad=="UdeC")]))-
APjY[min(as.numeric(datos_ftr$Año[which(datos_ftr$Universidad=="UdeC")]))+1),1)
3] = round(TPj[3]/(max(as.numeric(datos_ftr$Año[which(datos_ftr$Universidad=="USACH")]))-
APjY[min(as.numeric(datos_ftr$Año[which(datos_ftr$Universidad=="USACH")]))+1),1)
#------------------
# 11) APpY - Average conference proceeding publications by year
#-------------------
= rep(3,0)
APpY 1] = round(TPp[1]/(max(as.numeric(datos_ftr$Año[which(datos_ftr$Universidad=="UV")]))-
APpY[min(as.numeric(datos_ftr$Año[which(datos_ftr$Universidad=="UV")]))+1),1)
2] = round(TPp[2]/(max(as.numeric(datos_ftr$Año[which(datos_ftr$Universidad=="UdeC")]))-
APpY[min(as.numeric(datos_ftr$Año[which(datos_ftr$Universidad=="UdeC")]))+1),1)
3] = round(TPp[3]/(max(as.numeric(datos_ftr$Año[which(datos_ftr$Universidad=="USACH")]))-
APpY[min(as.numeric(datos_ftr$Año[which(datos_ftr$Universidad=="USACH")]))+1),1)
#------------------
# 12) NAY - Number of active years of publications
#-------------------
= rep(3,0)
NAY 1] = length(unique(datos_ftr$Año[which(datos_ftr$Universidad=="UV")]))
NAY[2] = length(unique(datos_ftr$Año[which(datos_ftr$Universidad=="UdeC")]))
NAY[3] = length(unique(datos_ftr$Año[which(datos_ftr$Universidad=="USACH")]))
NAY[
#------------------
# 13) PAY - Productivity per active year of publication
#-------------------
= rep(3,0)
PAY 1] = round(TP[1]/NAY[1],1)
PAY[2] = round(TP[2]/NAY[2],1)
PAY[3] = round(TP[3]/NAY[3],1)
PAY[
#------------------
# 14) TC - Total number of citations
#-------------------
= rep(3,0)
TC 1] = length(unique(datos_ftr$`Citado por`[which(datos_ftr$Universidad=="UV")]))
TC[2] = length(unique(datos_ftr$`Citado por`[which(datos_ftr$Universidad=="UdeC")]))
TC[3] = length(unique(datos_ftr$`Citado por`[which(datos_ftr$Universidad=="USACH")]))
TC[
#------------------
# 15) AC - Average citations by publication
#-------------------
= rep(3,0)
AC 1] = round(TP[1]/TC[1],1)
AC[2] = round(TP[2]/TC[2],1)
AC[3] = round(TP[2]/TC[2],1)
AC[
#------------------
# 16) NCP - Number of cited publications
#-------------------
= rep(3,0)
NCP 1] = length(which(datos_ftr$`Citado por`[which(datos_ftr$Universidad=="UV")]>0))
NCP[2] = length(which(datos_ftr$`Citado por`[which(datos_ftr$Universidad=="UdeC")]>0))
NCP[3] = length(which(datos_ftr$`Citado por`[which(datos_ftr$Universidad=="USACH")]>0))
NCP[
#------------------
# 17) PCP - Proportion of cited publications
#-------------------
= rep(3,0)
PCP 1] = round(NCP[1]/TP[1],1)
PCP[2] = round(NCP[2]/TP[2],1)
PCP[3] = round(NCP[3]/TP[3],1)
PCP[
#------------------
# 18) CPP - Citations per cited publication
#-------------------
= rep(3,0)
CPP 1] = round(TC[1]/NCP[1],1)
CPP[2] = round(TC[2]/NCP[2],1)
CPP[3] = round(TC[3]/NCP[3],1)
CPP[
#Generación de tabla
= c("Total publications","Total journal publications","Total conference proceeding publications",
indicadores "Percentage of journal publications","Percentage of conference proceeding publications",
"Average publications by academics","Average journal publications by academics",
"Average conference proceeding publications by academic","Average publications by year",
"Average journal publications by year","Average conference proceeding publications by year",
"Number of active years of publications","Productivity per active year of publication",
"Total number of citations","Average citations by publication","Number of cited publications",
"Proportion of cited publications","Citations per cited publication")
= rbind(TP,TPj,TPp,Per_TPj,Per_TPp,AP,APj,APp,APY,APjY,APpY,NAY,PAY,TC,AC,NCP,PCP,CPP)
matriz_datos colnames(matriz_datos)=c("UV","UdeC","USACH")
rownames(matriz_datos)=indicadores
which(is.na(matriz_datos))]=0
matriz_datos[
datatable(matriz_datos, class = 'display', options = list(pageLength = 20, dom = 'Brt',
autoWidth = TRUE))
#B - Buttons
#f - filtering input
#r - processing display element
#t - The table
#i - Table information summary
#p - pagination control
}
# Datos separados por académicos(as)
="USACH"
sel_universidad
if (sel_universidad!="Universities")
{ = datos_ftr[which(datos_ftr$Universidad==sel_universidad),]
datos_ftr = datos_ftr[order(datos_ftr$Nombre),]
datos_ftr
= unique(datos_ftr$Nombre)
profesores = NULL
matriz_datos
for (a in 1:length(profesores))
{
#-------------------
# 1) TP - Total publications
#-------------------
= length(datos_ftr$Nombre[which(datos_ftr$Nombre==profesores[a])])
TP
#------------------
# 2) TPj - Total journal publications
#-------------------
= length(datos_ftr$Nombre[which((datos_ftr$Nombre==profesores[a]) &
TPj $`Tipo de documento`=="Article"))])
(datos_ftr
#------------------
# 3) TPp - Total conference proceeding publications
#-------------------
= length(datos_ftr$Nombre[which((datos_ftr$Nombre==profesores[a]) &
TPp $`Tipo de documento`=="Conference Paper"))])
(datos_ftr
#------------------
# 4) %TP$_j$ - Percentage of journal publications
#-------------------
= round((TPj/TP)*100,1)
Per_TPj
#------------------
# 5) %TP$_p$ - Percentage of conference proceeding publications
#-------------------
= round((TPp/TP)*100,1)
Per_TPp
#------------------
# 6) APY - Average publications by year
#-------------------
= round(TP/(max(as.numeric(datos_ftr$Año[which(datos_ftr$Nombre==profesores[a])]))-
APY min(as.numeric(datos_ftr$Año[which(datos_ftr$Nombre==profesores[a])]))+1),1)
#------------------
# 7) APjY - Average journal publications by year
#-------------------
= round(TPj/(max(as.numeric(datos_ftr$Año[which(datos_ftr$Nombre==profesores[a])]))-
APjY min(as.numeric(datos_ftr$Año[which(datos_ftr$Nombre==profesores[a])]))+1),1)
#------------------
# 8) APpY - Average journal publications by year
#-------------------
= round(TPp/(max(as.numeric(datos_ftr$Año[which(datos_ftr$Nombre==profesores[a])]))-
APpY min(as.numeric(datos_ftr$Año[which(datos_ftr$Nombre==profesores[a])]))+1),1)
#------------------
# 9 NAY - Number of active years of publications
#-------------------
= length(unique(datos_ftr$Año[which(datos_ftr$Nombre==profesores[a])]))
NAY
#------------------
# 10) PAY - Productivity per active year of publication
#-------------------
= round(TP/NAY,1)
PAY
#------------------
# 11) TC - Total number of citations
#-------------------
= length(unique(datos_ftr$`Citado por`[which(datos_ftr$Nombre==profesores[a])]))
TC
#------------------
# 12) AC - Average citations by publication
#-------------------
= round(TP/TC,1)
AC
#------------------
# 13) NCP - Number of cited publications
#-------------------
= length(which(datos_ftr$`Citado por`[which(datos_ftr$Nombre==profesores[a])]>0))
NCP
#------------------
# 14) PCP - Proportion of cited publications
#-------------------
= round(NCP/TP,1)
PCP
#------------------
# 15) CPP - Citations per cited publication
#-------------------
= round(TC/NCP,1)
CPP
= c("Names","TP","TPj","TPp","%TP_j","%TP_p","APY","APjY","APpY","NAY","PAY","TC","AC","NCP","PCP","CPP")
indicadores
#Generación de table
= rbind(matriz_datos,cbind(profesores[a],TP,TPj,TPp,Per_TPj,Per_TPp,APY,APjY,APpY,NAY,PAY,TC,AC,NCP,PCP,CPP))
matriz_datos
colnames(matriz_datos) = indicadores
}
datatable(matriz_datos, class = 'display', options = list(pageLength = 20, dom = 'Bfrtp',
autoWidth = TRUE))
}
Number of academics (NA). Total number of academics.
Number of contributing authors (NCA). Total number of authors contributing to publications.
Average contributing authors (ANCA). \(\frac{NCA}{TP}\).
Sole-authored publications (SA). Total number of sole-authored publications.
Percentage of sole-authored publications (%SA). \[\frac{SA}{TP} \times 100\]
Co-authored publications (CA). Total number of co-authored publications.
Percentage of co-authored publications (%CA). \[\frac{CA}{TP} \times 100\]
#Contar número de autores por publicación
= read.csv("BD/BD.csv",header=T,sep = ";",check.names = F)
datos = which(datos$Filiación_USACH=="SI") #Filiación a Biomédica
idx = datos[idx,]
datos_ftr $Año=as.numeric(datos_ftr$Año)
datos_ftr
#B) Filtros para indicadores en tablas
= "Universities" # "Universities, Universidad de Valparaíso, Universidad de Concepción,
sel_universidad # Universidad de Santiago de Chile"
= 0 # ALL, #unique(datos$Año)
sel_ano_ini = 2022
sel_ano_fin
if (sel_ano_ini!="ALL")
{= which((datos_ftr$Año>=sel_ano_ini) & (datos_ftr$Año<=sel_ano_fin))
idx =datos_ftr[idx,]
datos_ftr
}
$N_autores=str_count(datos_ftr$Autores,",")+1
datos_ftr
#-------------------
# 1) NOA - Number of academics
#-------------------
= rep(3,0)
NOA 1] = length(unique(datos_ftr$Nombre[which(datos_ftr$Universidad=="UV")]))
NOA[2] = length(unique(datos_ftr$Nombre[which(datos_ftr$Universidad=="UdeC")]))
NOA[3] = length(unique(datos_ftr$Nombre[which(datos_ftr$Universidad=="USACH")]))
NOA[
#-------------------
# 2) NCA - Number of contributing authors
#-------------------
= rep(3,0)
NCA 1] = sum(datos_ftr$N_autores[which(datos_ftr$Universidad=="UV")])
NCA[2] = sum(datos_ftr$N_autores[which(datos_ftr$Universidad=="UdeC")])
NCA[3] = sum(datos_ftr$N_autores[which(datos_ftr$Universidad=="USACH")])
NCA[
#-------------------
# 3) ANCA - Average contributing authors
#-------------------
= rep(3,0)
TP 1] = length(datos_ftr$Universidad[which(datos_ftr$Universidad=="UV")])
TP[2] = length(datos_ftr$Universidad[which(datos_ftr$Universidad=="UdeC")])
TP[3] = length(datos_ftr$Universidad[which(datos_ftr$Universidad=="USACH")])
TP[
= rep(3,0)
ANCA 1] = round(NCA[1]/TP[1],1)
ANCA[2] = round(NCA[2]/TP[2],1)
ANCA[3] = round(NCA[3]/TP[3],1)
ANCA[
#-------------------
# 4) SA - Sole-authored publications
#-------------------
= rep(3,0)
SA 1] = length(which(datos_ftr$N_autores[which(datos_ftr$Universidad=="UV")]==1))
SA[2] = length(which(datos_ftr$N_autores[which(datos_ftr$Universidad=="UdeC")]==1))
SA[3] = length(which(datos_ftr$N_autores[which(datos_ftr$Universidad=="USACH")]==1))
SA[
#-------------------
# 5) %SA - Percentage of sole-authored publications
#-------------------
= rep(3,0)
PSA 1] = round((SA[1]/TP[1])*100,1)
PSA[2] = round((SA[2]/TP[2])*100,1)
PSA[3] = round((SA[3]/TP[3])*100,1)
PSA[
#-------------------
# 6) CA - Co-authored publications
#-------------------
= rep(3,0)
CA 1] = length(which(datos_ftr$N_autores[which(datos_ftr$Universidad=="UV")]>1))
CA[2] = length(which(datos_ftr$N_autores[which(datos_ftr$Universidad=="UdeC")]>1))
CA[3] = length(which(datos_ftr$N_autores[which(datos_ftr$Universidad=="USACH")]>1))
CA[
#-------------------
# 7) %CA - Percentage of co-authored publications
#-------------------
= rep(3,0)
PCA 1] = round((CA[1]/TP[1])*100,1)
PCA[2] = round((CA[2]/TP[2])*100,1)
PCA[3] = round((CA[3]/TP[3])*100,1)
PCA[
#Generación de tabla
= c("Number of academics","Number of contributing authors","Average contributing authors",
indicadores "Sole-authored publications","Percentage of sole-authored publications",
"Co-authored publications","Percentage of co-authored publications")
= rbind(NOA,NCA,ANCA,SA,PSA,CA,PCA)
matriz_datos colnames(matriz_datos)=c("UV","UdeC","USACH")
rownames(matriz_datos)=indicadores
which(is.na(matriz_datos))]=0
matriz_datos[
datatable(matriz_datos, class = 'display', options = list(pageLength = 20, dom = 'Brt', autoWidth = TRUE))
#Datos separados por académicos(as)
="USACH"
sel_universidad
if (sel_universidad!="Universities")
{ = datos_ftr[which(datos_ftr$Universidad==sel_universidad),]
datos_ftr = datos_ftr[order(datos_ftr$Nombre),]
datos_ftr
= unique(datos_ftr$Nombre)
profesores = NULL
matriz_datos
for (a in 1:length(profesores))
{#-------------------
# 1) NCA - Number of contributing authors
#-------------------
= sum(datos_ftr$N_autores[which(datos_ftr$Nombre==profesores[a])])
NCA
#-------------------
# 2) ANCA - Average contributing authors
#-------------------
= length(datos_ftr$Nombre[which(datos_ftr$Nombre==profesores[a])])
TP = round(NCA/TP,1)
ANCA
#-------------------
# 3) SA - Sole-authored publications
#-------------------
= length(which(datos_ftr$N_autores[which(datos_ftr$Nombre==profesores[a])]==1))
SA
#-------------------
# 4) %SA - Percentage of sole-authored publications
#-------------------
= round((SA/TP)*100,1)
PSA
#-------------------
# 5) CA - Co-authored publications
#-------------------
= length(which(datos_ftr$N_autores[which(datos_ftr$Nombre==profesores[a])]>1))
CA
#-------------------
# 6) %CA - Percentage of co-authored publications
#-------------------
= round((CA/TP)*100,1)
PCA
= c("Names","NCA","ANCA","SA","PSA","CA","PCA")
indicadores
#Generación de table
= rbind(matriz_datos,cbind(profesores[a],NCA,ANCA,SA,PSA,CA,PCA))
matriz_datos
colnames(matriz_datos) = indicadores
}
datatable(matriz_datos, class = 'display', options = list(pageLength = 20, dom = 'Bfrtp',
autoWidth = TRUE, columnDefs = list(list(className = 'dt-right', targets = 1:6))))
}