Fechnerian Scaling in R : The Package fechner

Fechnerian scaling is a procedure for constructing a metric on a set of objects (e.g., colors, symbols, X-ray films, or even statistical models) to represent dissimilarities among the objects “from the point of view” of a system (e.g., person, technical device, or even computational algorithm) “perceiving” these objects. This metric, called Fechnerian, is computed from a data matrix of pairwise discrimination probabilities or any other pairwise measure which can be interpreted as the degree with which two objects within the set are discriminated from each other. This paper presents the package fechner for performing Fechnerian scaling of object sets in R. We describe the functions of the package. Fechnerian scaling then is demonstrated on real and artificial data sets accompanying the package.


Introduction
This paper discusses the R (R Development Core Team 2009) package fechner for Fechnerian scaling (FS) of object (or stimulus) sets.It is available from the Comprehensive R Archive Network at http://CRAN.R-project.org/package=fechner. FS provides a theoretical framework for deriving so-called Fechnerian distances among objects from discrimination probabilities or other measures showing the degree with which objects are discriminated from each other by what is generically referred to as a perceiving system.In addition to the Fechnerian distances, FS also identifies pairs of points of subjective equality, geodesic chains, and geodesic loops.(These concepts are explained in detail in Section 2.) This paper provides a brief and by necessity schematic overview of the main concepts of FS.For detailed discussions of the various developments in this field refer to the following literature.The latest and most general version of FS is the dissimilarity cumulation theory (Dzhafarov and Colonius 2007;Dzhafarov 2008a,b).This theory extends the previously proposed theories of FS in continuous (Dzhafarov and Colonius 2005a) and discrete and discrete-continuous (Dzhafarov and Colonius 2005b) stimulus spaces.For historical background and the relation of FS to traditional issues of psychophysics-for instance, Fechner (1860)'s original theory and its experimental and theoretical critiques-see Dzhafarov (2001Dzhafarov ( , 2002a,b) ,b) and Dzhafarov andColonius (1999, 2001).The finite, discrete version of FS, by far the most important for practical applications, is discussed in detail in Dzhafarov and Colonius (2006a).As any data set is necessarily finite, this is the version implemented in the package fechner and described in the present paper.
The paper is structured as follows.In Section 2, we briefly review the theory of FS.In Section 3, we present the package fechner and describe the functions therein.In Section 4, we demonstrate FS by applying the package's functions to real and artificial data sets accompanying the package.

Fechnerian scaling of object sets
Let {x 1 , . . ., x n } be a set of objects endowed with a discrimination function ψ (x i , x j ).The primary meaning of ψ (x i , x j ) in FS is the probability with which x i is judged to be different from (not the same as) x j .For example, a pair of colors (x i , x j ) may be repeatedly presented to an observer (or a group of observers), and ψ (x i , x j ) may be estimated by the frequency of responses "they are different".Or (x i , x j ) may be a pair of categories, and ψ (x i , x j ) the frequency of times a randomly chosen exemplar of category x i and a randomly chosen exemplar of category x j are judged by a person to belong to different categories.Or (x i , x j ) may be a pair of statistical models, and ψ (x i , x j ) the probability with which model x j fails to fit (by some statistical criterion) a randomly chosen data set generated by model x i .Possible examples are numerous, and more can be found in Dzhafarov and Colonius (2006b).If warranted by substantive considerations, ψ (x i , x j ) may represent nonlinearly transformed probabilities, such as their logarithms or inverse normal integrals.Moreover, ψ need not be related to probabilities at all: one can, for example, repeatedly present a pair of colors (x i , x j ) and ask an observer for a direct numerical estimate of "how dissimilar x i and x j are" (say, on a scale from 0 to 10), in which case ψ (x i , x j ) can be the median or mean of several numerical estimates (this procedure is commonly used for the purposes of multidimensional scaling, MDS; see, e.g., Kruskal and Wish 1978).
It is a well-established empirical fact that ψ (x i , x j ), however obtained, is not a metric: (1) ψ (x i , x i ) is not always zero; (2) moreover, ψ (x i , x i ) and ψ (x j , x j ) for i = j are not generally the same; (3) ψ (x i , x j ) is generally different from ψ (x j , x i ); (4) and the triangle inequality is not generally satisfied either, ψ (x i , x j ) + ψ (x j , x k ) may very well be less than ψ (x i , x k ).
The only data-analytic procedure other than FS which is aimed at imposing a metric on {x 1 , . . ., x n } based on ψ is nonmetric MDS (e.g., Kruskal and Wish 1978).In its common version MDS assumes that ψ (x i , x j ) is some unknown monotone transformation of a "true" distance d (x i , x j ), and the MDS procedure searches for this transformation.No transformation, however, can deal with points (2) and (3) above, so the data have to be modified to make MDS applicable: e.g., ψ (x i , x j ) and ψ (x j , x i ) are replaced with their averages, and all "diagonal" values ψ (x i , x i ) are averaged over as well.Even then MDS may not succeed in finding the transformation, especially since the class of allowable metrics in MDS is usually a priori restricted to Euclidean (or so-called Minkowskian) metrics in low-dimensional spaces of real-component vectors.
By contrast, FS deals directly with ψ-data subject to points 1-4 above, and it imposes no a priori restrictions on the class of metrics d computed from ψ.The only property of the ψ-data which is required by FS is regular minimality (RM).This property can be formulated in three statements: (A) for every x i there is one and only one x j such that ψ (x i , x j ) < ψ (x i , x k ) for all k = j (this x j is called the Point of Subjective Equality, or PSE, of x i ); (B) for every x j there is one and only one x i such that ψ (x i , x j ) < ψ (x k , x j ) for all k = i (this x i is called the PSE of x j ); (C) and x j is the PSE of x i if and only if x i is the PSE of x j .
Every data matrix in which the diagonal entry ψ (x i , x i ) is smaller than all entries ψ (x i , x k ) in its row (k = i) and all entries ψ (x k , x i ) in its column (k = i) satisfies RM in the simplest (so-called canonical) form.In this simplest case every object x i is the PSE of x i .(Note that regular maximality can be defined analogously, replacing "minimal" with "maximal".This is required when the ψ-data represent closeness values rather than differences; e.g., ψ (x i , x j ) may be the percent of times x i is judged to be the same as x j .) It need not always be the case, however, that every x i is the PSE of x i .What makes any (x i , x j ) an ordered pair, different from (x j , x i ), and what makes (x i , x i ) a pair rather than a single object, is the fact that x i and x j (in particular, x i and x i ), when being compared, necessarily differ in some property which "does not count" for the comparison.For example, if x i and x j are two colors, they must occupy two different spatial locations, or one of them may be presented first and the other second in time.This difference in spatial or temporal locations (generically referred to as the difference between two observation areas) does not enter in the comparison, but it may affect the way people perceive colors, and this in turn may lead to ψ (x i , x i ) being larger than ψ (x i , x j ) for some distinct i and j (in the same way as it may lead to ψ (x i , x j ) = ψ (x j , x i )).The matrix of ψ-data satisfies RM, with (x 1 , x 2 ), (x 2 , x 3 ), and (x 3 , x 1 ) being pairs of mutual PSEs.Here, the first symbol in every pair refers to a row object (all row objects belonging to one, the "first", observation area) and the second symbol refers to a column object (in the "second" observation area).
Generalizing, given a matrix of ψ (x i , x j )-values with the rows and columns labeled by the objects {x 1 , . . ., x n }, if (and only if) RM is satisfied, the row objects and column objects can be presented in pairs of PSEs (x 1 , x k 1 ) , (x 2 , x k 2 ) , . . ., (x n , x kn ), where (k 1 , k 2 , . . ., k n ) is a permutation of (1, 2, . . ., n).The FS procedure identifies and lists these PSE pairs and then relabels them so that two members of the same pair receive one and the same label: Thus, the matrix in the example above becomes in which each diagonal entry is minimal in its row and in its column.After this relabeling the original function ψ (x i , x j ) is redefined.We present it as p ij = ψ(a i , a j ) according to the rule: if (x i , x k i ) → (a i , a i ) and x j , x k j → (a j , a j ), then p ij = ψ x i , x k j (in particular, p ii = ψ (x i , x k i )).Note that p ij is subject to the same properties 1-4 which were stipulated above for ψ.Of course, in the simplest case (canonical form), when each x i is its own PSE, no relabeling of objects is necessary, and p ij coincides with ψ (x i , x j ).(In the package fechner the pairs of PSEs are assigned identical labels leaving intact the labeling of the rows and relabeling the columns with their corresponding PSEs.This is referred to as canonical relabeling.) FS imposes a metric G on the set {a 1 , . . ., a n } in such a way that, if x i and x i are each other's PSEs relabeled into a i and x j and x j are each other's PSEs relabeled into a j , then Here is how it is done.Let any finite sequence of objects, not necessarily pairwise distinct, be called a chain.Any ordered pair of successive objects in a chain is referred to as a link of the chain.For every pair of objects (a i , a j ) we consider all possible chains of objects (a i , a k 1 , . . ., a kr , a j ), where (a k 1 , . . ., a kr ) is a sequence chosen from {a 1 , . . ., a n } (and r may be 0, in which case the chain inserted between a i and a j is empty).For each such a chain we compute what is called its psychometric length (of the first kind) as where we put a i = a k 0 and a j = a k r+1 .(The quantities p kmk m+1 − p kmkm are referred to as psychometric increments of the first kind.)Then we find a chain (which need not be unique) with the minimal value of L (1) , and take this minimal value of L (1) for the quasidistance G (1) ij from a i to a j (referred to as the oriented Fechnerian distance of the first kind).Quasidistance (quasimetric, or oriented metric) is a pairwise measure which satisfies all metric properties except for symmetry: ij is a quasidistance is straightforward.See Dzhafarov and Colonius (2007) for the most general version.)In FS we symmetrize this quasimetric and transform it into a metric by computing G (1) ij + G (1) ji and taking it for the "true" or "overall" Fechnerian distance G ij between a i and a j .Any chain (a i , a k 1 , . . ., a kr , a j ) with L (1) (a i , a k 1 , . . ., a kr , a j ) = G (1) ij is called a geodesic chain (of the first kind).Then the overall Fechnerian distance G ij (see Figure 1) is the psychometric length (of the first kind) of a geodesic loop (a i , a k 1 , . . ., a kr , a j , a l 1 , . . ., a ls , a i ), or equivalently (a j , a l 1 , . . ., a ls , a i , a k 1 , . . ., a kr , a j ).(2, 3, 4, 5, 8, 6) is taken to be the oriented Fechnerian distance G (1) 26 from 2 to 6. Analogously, L (1) (6, 9, 4, 1, 2) of the chain connecting object 6 to object 2 (shown by dashed arrows, representing the links of the chain) is (p 69 − p 66 ) + (p 94 − p 99 ) + (p 41 − p 44 ) + (p 12 − p 11 ).If this chain is the shortest among all chains connecting object 6 to object 2, then L (1) (6, 9, 4, 1, 2) = G (1) 62 .Together the two chains form a loop with the total length L (1) (2, 3, 4, 5, 8, 6) + L (1) (6, 9, 4, 1, 2).If the two chains are the shortest possible, then this sum is the overall Fechnerian distance G 26 = G 62 between objects 2 and 6.
Although this is not, strictly speaking, necessary for computations, it is worth noting that we can also compute the psychometric length (of the second kind) of an arbitrary chain (a i , a k 1 , . . ., a kr , a j ) as (where p k m+1 km − p kmkm are called psychometric increments of the second kind), and then define the quasidistance (the oriented Fechnerian distance of the second kind) G (2) ij from a i to a j as the minimal value of L (2) across all chains inserted between a i and a j .It makes, however, no difference for the final computation of the overall Fechnerian distance G ij , because it can be shown (see, e.g., Dzhafarov and Colonius 2006a) that ).It can be verified by rearranging terms that the length L (2) (6, 8, 5, 4, 3, 2) + L (2) (2, 1, 4, 9, 6) of this loop is the same as the length of the loop computed in Figure 1: L (1) (2, 3, 4, 5, 8, 6) + L (1) (6, 9, 4, 1, 2).As a consequence, if the loop in Figure 1 is the shortest in the L (1) sense among all loops containing objects 2 and 6, then so is in the L (2) sense the loop traversed in the opposite direction (and vice versa); hence 62 = G 26 , the overall Fechnerian distance between objects 2 and 6.
It also holds (in fact, the equality above is an immediate consequence of this result) that the L (1) -length of any loop (a i , a k 1 , . . ., a kr , a j , a l 1 , . . ., a ls , a i ) equals the L (2) -length of the same loop traversed in the opposite direction, (a i , a ls , . . ., a l 1 , a j , a kr , . . ., a k 1 , a i ); see Figure 2.
The package fechner computes, among other quantities (see Section 3), the value of G ij (referred to as G in the package) and identifies a geodesic loop (perhaps one of several possible) for any pair of (relabeled) objects (a i , a j ).It also compares the value of G ij to what we call a generalized Shepardian index of dissimilarity S ij = p ij + p ji − p ii − p jj (referred to as S-index in the package). 1Note that G ij ≤ S ij for all (a i , a j ).The comparison G ij versus S ij is of interest because it shows how different the psychometric increments p ij − p ii are from an oriented metric.The equality G ij = S ij holds for some (a i , a j ) if and only if the geodesic loop (Shepard 1957(Shepard , 1987)).In FS Sij is called the generalized Shepardian index because it achieves the same goal as S * ij : it symmetrizes the matrix about the main diagonal and equalizes all diagonal entries (although their common value in S * ij is 1 rather than 0).The index S * ij can be viewed as a special case of Sij if p in Sij is understood as log (1 − p) in log S * ij .
for (a i , a j ) contains no other objects, i.e., if it is (a i , a j , a i ).This means that p ij −p ii is smaller than L (1) (a i , a k 1 , . . ., a kr , a j ) for any chain inserted between a i and a j , and that p ji − p jj is smaller than L (1) (a j , a l 1 , . . ., a ls , a i ) for any chain inserted between a j and a i .(The same statement could be equivalently formulated in terms of psychometric increments and lengths of the second kind, p ji − p ii and L (2) .)It follows that if G ij = S ij for all (a i , a j ), then the values of p ij − p ii form an oriented metric, and the computation of G ij is reduced to simple symmetrization: (p ij − p ii ) + (p ji − p jj ) = S ij .The greater the number of points (a i , a j ) for which G ij < S ij and the greater the differences S ij − G ij , the greater the "non-metricality" of the psychometric increments p ij − p ii and the greater the "improvement" they need to become metric.To quantify this "improvement" FS uses an ad hoc descriptive index (referred to as C-index in the package).

The R package fechner
In this section we briefly describe the functions and relevant parts of the package.How to actually use the software is demonstrated on examples in Section 4. The description of the package will be short, primarily focusing on the main aspects of FS, those the users may want to know first.Detailed information about these and other matters can be found in the comprehensive documentation files for the package in R. We do not discuss source code because the code in fechner is straightforward, intuitive, and generously commented.
The package fechner is implemented based on the S3 system.It comes with a namespace and consists of three external functions (functions the package exports): the main function fechner, which provides the FS computations, and the functions check.regularand check.datafor verifying the required regular minimality/maximality property and the format of the data, respectively.The package also contains internal functions (functions not exported by the package), which basically are plot, print, and summary methods for objects of the class "fechner".There are two real and two artificial data sets accompanying the package fechner (they are described and analyzed in Section 4).The package's functionality and output closely follow that of the software FSCAMDS (see Section 1).It was tested on real and artificial data and yielded the same results as obtained with FSCAMDS.Detailed descriptions of the package's functions and data sets can be found in the documentation files in R (for an overview, type package?fechner).
The main function of the package is fechner: fechner(X, format = c("probability.different","percent.same","general"), compute.all= FALSE, check.computation= FALSE) This function provides the FS computations (see Section 2), in two variants, termed "short" and "long".The short computation (compute.all= FALSE) returns a list, of the class "fechner", containing such information as the pairs of PSEs, the canonical representation of the data in which regular minimality/maximality is satisfied in the canonical form and the rows and columns are canonically relabeled, the S-index, and most importantly, the overall Fechnerian distances and geodesic loops.The long computation (compute.all= TRUE) additionally yields intermediate results, such as the psychometric increments, the oriented Fechnerian distances, and the geodesic chains, and it also allows to check the equality (check.computation = TRUE).This equality must hold by theory (see Section 2).
The function fechner takes a square matrix or a data frame of numeric data (X; e.g., discrimination probabilities), which must be in one of the following formats: probability-different, percent-same, or general.The data have to be a matrix or a data frame with the same number of rows and columns, and the data have to be numeric (no infinite, undefined, or missing values are allowed).This is the general data format.The probability-different and percent-same formats, in addition, require that the data lie in the intervals [0, 1] and [0, 100], respectively.In the percent-same format, the data are automatically transformed prior to the analysis using the transformation (100 − X)/100.
The only property of the data which is required by FS is regular minimality/maximality (see Section 2).For the percent-same format the data must satisfy regular maximality, for the probability-different and general formats, regular minimality.This property can be checked using the function check.regular:check.regular(X,type = c("probability.different","percent.same","reg.minimal","reg.maximal")) This function takes a square matrix or a data frame of numeric data (X; see fechner above) and returns a list consisting of the canonical representation of the data, the pairs of PSEs, a character string saying which check was performed (regular minimality or regular maximality), and a logical indicating whether the original data are already in the canonical form.The values "reg.minimal" and "reg.maximal"can be specified to force checking for regular minimality and regular maximality, respectively, independent of the data set used.
The data format can be checked using the function check.data:check.data(X,format = c("probability.different","percent.same","general")) This function takes a square matrix or a data frame of numeric data (X; see fechner above) and returns a matrix of the data with rows and columns labeled.The labeling is as follows: If the data are entered without any labeling of the rows and columns, check.datadoes the labeling automatically: as a1, b1, . . ., z1, a2, b2, . . ., z2, etc., up to a9, b9, . . ., z9 if the data size does not exceed 234 × 234, or if the data size is larger than 234 × 234, the labeling is v1, v2, . . ., vN , where N ×N is the dimensionality of the data (and N > 234).
If the data are entered with either row or column labeling (but not both), the row or column labels are assigned to the columns or rows, respectively.
If the data are entered with row and column labeling, the same labeling must be used for both.If this is the case, the labeling is adopted.
The interdependencies among these three functions of the package are as follows.The function fechner calls the function check.regular,which in turn calls check.data.In particular, in the function fechner the specified data format and regular minimality/maximality are checked, and the rows and columns of the canonical representation matrix are canonically relabeled based on the labeling provided by check.data.That is, using the check.datalabeling, the pairs of PSEs are assigned identical labels leaving intact the labeling of the rows and relabeling the columns with their corresponding PSEs (see Section 2).
The function fechner returns an object (x or object) of the class "fechner", for which S3 plot, print, and summary methods are provided.The plot method plot(x, level = 2) graphs the results obtained in the FS analyses.It produces a scatterplot of the overall Fechnerian distance G versus the S-index (for off-diagonal pairs of stimuli/objects), with rugs added to the axes and jittered (amount = 0.01 of noise) to accommodate ties in the Sindex and G values.The diagonal line y = x is provided for a visual reference in estimating the differences between the two types of values, as a measure of "non-metricality" of the psychometric increments (see Section 2).The level of comparison (an integer greater than or equal to 2) refers to the minimum number of links in geodesic loops for the pairs of stimuli considered for the comparison.That is, choosing level n means that the comparison involves only those S-index and G values that correspond to the geodesic loops containing not less than n links.Normally the differences between the S-index and G values are greater for pairs of objects having geodesic loops with more links (see Figures 3 and 4).The print method print(x) prints the main results obtained in the FS analyses, which are the overall Fechnerian distances and the geodesic loops.The summary method summary(object, level = 2) outlines the results obtained in the FS analyses.It returns a list consisting of the pairs of objects and their corresponding S-index and G values, the value of the Pearson correlation coefficient between them, the value of the C-index (as an ad hoc measure of the "improvement" the psychometric increments need to become metric; see Section 2), and the level of comparison chosen.Detailed summary information such as individual object pairs and their corresponding S-index and G values can be accessed through assignment.(Note that the summary method returns an object of the class "summary.fechner",for which a print method is provided.)

Examples
The package fechner contains two real (morse and wish) and two artificial (regMin and noRegMin) data sets.We use these data sets to demonstrate the functions of the package.

The data sets
morse: Rothkopf (1957)'s Morse code data of discrimination probabilities among 36 auditory Morse code signals for the letters A, B, . . ., Z and the digits 0, 1, . . ., 9. The morse data frame consists of 36 rows and 36 columns, representing the Morse code signals presented first and second, respectively.Each number, an integer, in the data frame gives the percentage of subjects who responded "same" (choosing between "same" and "different") to the row signal followed by the column signal.Each signal consists of a sequence of dots and dashes.A chart of the Morse code letters and digits can be found in Wikipedia (2009).
wish: Wish (1967)'s Morse-code-like data of discrimination probabilities among 32 auditory Morse-code-like signals.The wish data frame consists of 32 rows and 32 columns, representing the Morse-code-like signals presented first and second, respectively.Each number, a numeric, in the data frame gives the relative frequency of subjects who responded "different" (choosing between "same" and "different") to the row signal followed by the column signal.The 32 Morse-code-like signals in Wish (1967)'s study were 5-element sequences T 1 P 1 T 2 P 2 T 3 , where T stands for a tone (short or long) and P stands for a pause (1 or 3 units long).The stimuli are labeled A, B, . . ., Z, 0, 1, . . ., 5, in the order they are presented in Wish (1967)'s article.
regMin and noRegMin: Artificial data of fictitious discrimination probabilities among 10 stimuli.The regMin and noRegMin data frames consist of 10 rows and 10 columns, representing the fictitious stimuli presented in the first and second observation area, respectively.Each number, a numeric, in the data frames is assumed to give the relative frequency of perceivers responding "different" to the row stimulus followed by the column stimulus.These artificial data sets are included as examples of a case when regular minimality holds in the non-canonical form (regMin) and a case when regular minimality is violated (noRegMin).They differ only in one entry: in the ninth row and the tenth column.

[1] TRUE
The data set morse satisfies regular maximality in the canonical form: R> check.regular(morse,type = "percent.same")$check [1] "regular maximality" R> check.regular(morse,type = "percent.same")$in.canonical.form [1] TRUE For typographic reasons only, in the remainder we consider small subsets of these stimulus sets, chosen to form "self-contained" subspaces: a geodesic loop for any two elements of such a subset (computed using the complete data set) is contained entirely within the subset.(Note that the results obtained in the FS analyses restricted to self-contained subspaces are the same as the results obtained from the entire stimulus sets.See below.)For instance, a particular self-contained 10-code subspace of the 36 Morse codes consists of the codes for the letter B and the digits 0, 1, 2, 4, 5, . . ., 9.

Plotting and summarizing
Objects of the class "fechner" can be plotted or summarized.Plotting the "fechner" object f.scal.morse(computed based on the entire Morse code data set; see Section 4.2) R> plot(f.scal.morse) gives the scatterplot shown in Figure 3.

Conclusion
We have introduced the package fechner for performing Fechnerian scaling (FS) of object sets in the R language and environment for statistical computing and graphics.The package has functions for checking the required data format and the regular minimality/maximality property, a fundamental property of discrimination in psychophysics.The main function of the package provides the FS computations, in the short and long variants.We have described the functions of the package fechner and demonstrated their usage on real and artificial data sets accompanying this package.
By contributing the package fechner in R we hope to have established a basis for computational work in this field.Interactive visualization and computational statistics approaches can be utilized in post-Fechnerian analyses to make the results obtained by FS (e.g., overall Fechnerian distances and geodesic loops) more explorable and interpretable.We plan to extend this package to incorporate such graphics as the matrix visualization, in particular combined with seriation, the fluctuation diagram variant of the mosaic plot, or the parallel coordinates plot-all as far as possible, interactively linked.(Available R packages providing for such graphics are, for example, seriation, Hahsler, Hornik, and Buchta 2008, and iplots, Urbanek and Wichtrey 2009.)These visualization approaches could be used in conjunction with post-Fechnerian analyses based on multidimensional scaling (MDS) or cluster analysis (CA), as described by Dzhafarov and Colonius (2006a).Various MDS, dimensionality reduction, and CA techniques, as well as such methods as principal component analysis or factor analysis, are envisioned to be explored for their applicability to FS in greater depth.The package fechner will have to be extended to incorporate such approaches.
The realization of FS in R may also prove valuable in applying current or conventional statistical methods to the theory of FS.For instance, the determination of confidence regions (e.g., for overall Fechnerian distances) and hypothesis testing (e.g., testing for RM) in FS are likely to be based on resampling methods.Such an endeavor would involve extensive computer simulation, something R would be ideally suited for.

Figure 4 :
Figure 4: G versus S-index for Morse code data (specific stimuli pairs).
morse, including the Pearson correlation coefficient and the C-index: Figure 3: G versus S-index for Morse code data (all stimuli pairs).