# d1char.d1nat: Probability Mass Function Calculator for Array of Characters In stheoreme: Klimontovich's S-Theorem Algorithm Implementation and Data Preparation Tools

## Description

Function `d1char.d1nat` is applied to a pair of vectors of characters or to a pair of 1d arrays of characters and generates then the pair of corresponding probability vectors by calling `d1nat` function

## Usage

 `1` ```d1char.d1nat(farr0, farr1, reject = c("")) ```

## Arguments

 `farr0` vector of characters `farr1` vector of characters `reject` vector of rejected characters (the characters excluded from original vectors for analysis)

## Details

First, it assigns the identification number for each individual character met in original vectors. Then it works similarly to `hist` function but for the pair of samples with identification numbers as outcomes. It prints the decoding array (listing the identification numbers corresponded for each character) and, as a bonus, it prints basic statistics summary for distributions alongside with technical plot. It is recommended for use as a data preparation step before the following Klimontovich's S-theorem based analysis.

## Value

 `f0 ` probability vector representing state0 of a system `f1 ` probability vector representing state1 of a system

## Author(s)

Vitaly Efremov <[email protected]>

`crit.stheorem`, `cxds.stheorem`, `d1nat`
 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21``` ```s0<-c("?", "!", "1", "a", "b", "b", "s", "x", "y", "z", "z", "z") s1<-c("1", "1", "2", "b", "b", "s", "s", "x", "y", "z", "z", "z", "z") b<-d1char.d1nat(farr0=s0,farr1=s1); b s0<-"three witches watch three swatch watches. which witch watch which swatch watch?" s1<-"who discovered america five hundred years ago? a brave man! indeed he was! discovered!" b<-d1char.d1nat(unlist(strsplit(s0,"")),unlist(strsplit(s1,"")), reject=c("."," ","!","d","e")); b #example of 2-step data analysis with Klimontovich's S-theorem s0<-c("a","b",rep("c",9),rep("d",2),"e","f","g",rep("h",2),"i","j"); s0 s1<-c(rep("a",16), rep("c",35), rep("i",13)); s1 # step a. Create probability vectors. It seems that s0 has lower level # of orderliness (Shannon entropy is higher) b<-d1char.d1nat(s0,s1); b # step b. Compare samples with Klimontovich's S-theorem. Renormalized entropy indicates # the opposite: s0 is more ordered and difference in Shannon # entropy values was due to just "thermodynamic noise" crit.stheorem(b\$f0,b\$f1) cxds.stheorem(b\$f0,b\$f1) ```