GitHub - xitingwang-ida/sysAgNPs (original) (raw)
sysAgNPs
Introduction
There is variation across silver nanoparticles (AgNPs) due to differences in characterization techniques and testing metrics employed in studies. To address this problem, we have developed a systematic evaluation framework called 'sysAgNPs'. Within this framework, Distribution Entropy (DE) is utilized to measure the uncertainty of AgNPs' feature categories, Proclivity Entropy (PE) assesses the preference of these categories, and Combination Entropy (CE) quantifies the uncertainty of feature combinations of AgNPs. Additionally, a Markov chain model is employed to examine the relationships among the sub-features of AgNPs and to determine a Transition Score (TS) scoring standard that is based on steady-state probabilities. The 'sysAgNPs' framework provides metrics for evaluating AgNPs, which helps to unravel their complexity and facilitates effective comparisons among different AgNPs, thereby advancing the scientific research and application of these nanoparticles.
Installation of sysAgNPs package
Install sysAgNPs
install.packages("devtools") library(devtools) devtools::install_github("xitingwang-ida/sysAgNPs") devtools::install_bitbucket("cindy-w/sysAgNPs")
Load package
library(sysAgNPs)
How to use sysAgNPs to evaluate AgNPs data
All the approaches of sysAgNPs are implemented as a software package that handles all the different steps of the framework creation process and makes it easy to evaluate AgNPs experimental data by adjusting a few parameters.
Build Transition Score criteria
Import AgNPs dataset to build Transition Score criteria
data(dataset)
Select the columns to be discretized
var_dis <- c("Synthesis methods", "pH", "Temperature (℃)", "Zeta potential (mV)","Size (nm)", "Shape", "Applications")
Convert categorical variables into discrete variables
dis_data <- sys_discretize(dataset, var_dis)
Build markov chain and calculate transition matrix
tran_matrix <- sys_tran(dis_data)
Obtain the relationship between the number of iterations and tolerance
tol_iter <- sys_steady(dis_data, tran_matrix)
Loop "n_iter" times to count the results of each iteration. The final steady-state result is reached when the number of iterations is "n_iter"
iter_prob <- sys_iter(dataset, 6, var_dis)
Export the Transition Score criteria
TS_criteria <- sys_eval_cri(dataset, 6, var_dis)
Save Transition Score criteria
rio::export(TS_criteria,"inst/extdata/TS_criteria.xlsx")
Evaluate the experimental data of AgNPs
Import and evaluate the experimental data
data(dataset) users_data <- dataset
Calculate the Distribution Entropy
DE <- sys_DE(users_data)
Calculate the Proclivity Entropy
PE <- sys_PE(users_data)
Calculate the Combination Entropy
CE <- sys_CE(users_data, dataset)
Transition score
T_S <- sys_TS(users_data, dataset, 6, var_dis)
sysAgNPs score of AgNPs (DE, PE, CE, TS)
sysAgNPs_score <- data.frame(DE = DE$H_pB, PE = PE$H_pK, CE = CE$H_pE, TS = T_S$TS)
Save sysAgNPs score results
rio::export(sysAgNPs_score, "inst/extdata/sysAgNPs_score.xlsx")
Line and radar plots of sysAgNPs score
sysAgNPs_line_radar_1 <- sys_line_radar(sysAgNPs_score, 1)
sysAgNP1
sysAgNPs_line_radar_1
Session information
sessionInfo()