NEWS | R Documentation |
NEWS file for the TraMineR package
Changes in version 2.2-11 [2024-12-08]
Changes in existing functions
-
dissrep()
: when all distances are zero, the numbernb
of cases in the neighborhood of the representative is set as the sum of weights (was zero in previous versions)
Bug fixes
-
dissrep()
error when seqdata is a single sequence. -
seqecreate()
(andtmrsequenceseveral
cpp function): segfault error when intEvent is NULL. (Fix required by Brian Ripley)
Changes in version 2.2-10 [2024-05-20]
New functions
-
dissmergegroups()
merges groups so as to minimize loss of partition quality. -
seqhasmiss()
count and identification of sequences with missings.
Changes in existing functions
-
seqdist()
new argumentopt.args
to test non-documented arguments at development stage. -
seqdef()
now raises an error when it finds negative orNA
weights. -
seqprecstart()
includes derived state.order and state.equiv as attributes of returned object.
Bug fixes
-
seqcost()
method="INDELSLOG"
returnedNA
costs for token 0 when alphabet is numeric. -
print.stslist(, format="SPS")
error with some version of R. -
plot.stslist.statd(type="dH")
error whenxtstep > 1
. -
plot.stslist.statd(type="Ht")
argumentmain
was ignored. -
plot.stslist.statd(type="Ht")
displayed useless x-label "Index" whenxlab=NULL
. -
seqdHplot()
andseqplot(,type="dH")
usecol.entr
instead ofcol
to control color of overlayed entropy because of name conflict. -
seqidegrad()
andseqinsecurity
: unexpected results when order of undesirableness degrees provided withstprec
differed from alphabet order. -
seqdomassoc()
error when only two domains. -
noRemap issues.
Changes in version 2.2-9 [2024-01-08]
Changes in existing functions
-
All TraMineR plot functions: improved support of graphical parameters. (E.g.,
las
andcex.axis
can now be used to control the display of tick labels.) -
seqdist()
transformskweights
into vectorrep(kweights,ncol(seqdata))
when it is scalar. -
seqdist()
raises a warning when the vectorkweights
is shorter than the number of columns inseqdata
.
Bug fixes
-
seqdef()
: lack of separation between found tokens not listed in the alphabet. -
seqdist()
: error when all DSS have length 1 andmethod
is one of OMspell, NMSMST, and SVRspell. -
seqdist()
: error when all DSS are identical with length 1 andmethod
is OMstran. -
seqdist()
withmethod="OMstran"
: returned distance matrix was not labeled with sequence rownames. -
Issues with lost braces in .Rd files (NOTE in CRAN check)
Changes in version 2.2-8 [2023-09-18]
New functions
-
disstree.get.rules()
character string vector of the classification rules of adisstree
as R commands. -
disstree.assign()
determines the index of the rules that apply to the provided profiles.
Changes in exiting functions
-
seqST()
When numberphi
of subsequences isNaN
, it is set as.Machine$double.xmax
to compute turbulence and a warning is raised. -
seqplot()
andseqplotMD()
: whentype="f"
, theyaxis
argument can now also be"pct"
or"left.pct"
. -
seqrep()
anddissrep()
: returned object gains attributesRep.group
with the representative to which each object is assigned, andidx.rep
a list with indexes of all occurrences of each representative. -
seqtreedisplay()
andseqtree2dot()
: argumentaxes
is deprecated and replaced byxaxis
to be conformable withseqplot
. -
disstreedisplay()
andseqtreedisplay()
now raise an error when the filefilename
of the image cannot be created. -
disstreeleaf()
gains an argumentcollapse
to control separator within classes of categories.
Bug fixes
-
seqfplot()
andseqplot(type="f")
: optionyaxis="pct"
did no longer work after update to v 2.2-7. -
disstreedisplay()
andseqtreedisplay()
did not find the GraphViz path. -
disstreedisplay()
andseqtreedisplay()
uselessly printedTRUE
when filename was notNULL
.
Changes in version 2.2-7 [2023-03-31]
New functions
-
seqplotMD()
plot of multidomain/multichannel sequences by domain and group. -
seqdomassoc()
pairwise state association between domains.
Changes in exiting functions
-
dissrf()
andseqrf()
sortv="mds"
is now the default andsortv=NULL
selects the original seqdata order. -
seqrfplot()
(seqplot(..., type="rf", ...)
) with optionsortv="mds"
(new default inseqrf
) the MDS sorting is done on the whole seqdata instead of independently for each group. -
seqMD()
:with.missing
can now beNULL
(new default), in which case the with.missing value of each domain is set asTRUE
when the domain has missings and asFALSE
otherwise. -
seqMD()
: new logical argumentfill.with.miss
, which offers the option to fill the shorter sequences with missings in case of non-matching lengths across domains. -
seqplot()
and all theseqxxplot()
family functions:ylab
can be a vector of labels by group level. -
seqplot()
and all theseqxxplot()
family functions support arguments oflegend
among the...
list. -
"[.stslist"
raises a warning when row subsetting condition hasNA
s.
Bug fixes
-
seqrf()
: optionssortv="from.start"
andsortv="from.end"
did not work as expected. -
seqMD()
: error when sequences had different lengths. -
foreign c function
wcorr
called with character string naming while package callsR_forceSymbols
. (Fix asked for by K. Hornik).
Misc.
-
Statement "SystemRequirements: C++11" dropped from DESCRIPTION as requested by CRAN check
-
Using new CITATION commands.
Changes in version 2.2-6 [2022-11-29]
Changes in existing functions
-
seqplot()
and all theseqxxplot()
family functions: default value for themain
argument is now"auto"
andNULL
removes all titles as it should. -
seqplot()
and all theseqxxplot()
family functions: argumentaxes
is deprecated and replaced byxaxis
. Argumentyaxis
can now also be one of"all"
or"left"
. -
plot()
methods for objects returned byseqdef
,seqstatd
,seqtab
,seqmodst
,seqmeant
, andseqrf
now display theylab
closer from the y-axis whenyaxis=FALSE
. -
plot()
method for object returned byseqrep
now displays theylab
closer from the y-axis whenstats=FALSE
.
Bug fixes
-
summary.dissrf()
: five number statistics ignored weights (reported by Marcel Raab) -
seqstatl()
: non-integer state value were not recognized. -
plot()
methods for objects returned byseqdef
,seqstatd
,seqtab
,seqmodst
,seqmeant
,seqrf
, andseqrep
ignored thecex.lab
argument. -
issues with prototypes in init.c
-
removed unused code with deprecated
sprintf
in eventdictionary.cpp
Misc.
-
Replaced
seqdistmc
withseqMD
in examples ofdissdomassoc
.
Changes in version 2.2-5 [2022-08-30]
New functions
-
dissrf()
medoids of relative frequency (RF) groups -
seqrf()
medoid sequences of RF groups -
plot.seqrf()
plot method for medoid sequences of RF groups -
seqrfplot()
alias forseqplot(...,type="rf",...)
-
print and summary methods for
dissrf
andseqrf
objects -
seqfposend()
position of end of spell in given state
Changes in existing functions
-
seqplot()
new value"rf"
(RF plots) for argument type. -
seqtab()
result gains an attributeidxf
with indexes of first found frequent sequences. -
seqdistmc()
renamedseqMD
to better reflect that the function can return various outcomes related to multidomain (MD) sequences, not just distances based on the MCSA trick. Old name maintained as an alias for backward compatibility. -
plot.stslist()
now raises an explicit error for badytlab
value.
Bug fixes
-
plot.stslist()
possible conflict betweenx
names and arguments oforder
. -
plot.stslist.rep()
bad position of y-axis when!is.na(ylab)
Misc.
-
Proper
wtd.cor
,wtd.mean
,wtd.var
,wtd.fivenum
, andwtd.boxplot
internal functions to avoid issues with dependence on packages weights, Hmisc, and ENmisc. (Code in TraMineR-weights.R and TraMineR-wtd-stats.R.) -
Function
TraMineR.checkupdates
has been removed.
Changes in version 2.2-4 [2022-06-08]
New functions
-
seqdHplot()
alias forseqplot(...,type="dH",...)
-
seqlength.align()
sets lengths of sequences of multiple domains as the shortest length among the domains. -
seqmaintokens()
returns indexes of more frequent tokens.
Changes in existing functions
-
plot.stslist.statd()
new type"dH"
that overlays entropy line on the chronogram. In addition, new argumentscol
,lwd
, andylim
allow controlling aspect of entropy line. -
seqplot()
new type"dH"
. -
seqformat()
,seqdef()
,seqdecomp()
,seqconc()
,seqstatl()
now support tibble input data. -
seqformat()
accepts a tibble aspdata
table. -
seqformat()
accepts a character string vector as input data. -
seqdistmc()
: optionwhat="sm"
becomeswhat="cost"
. Deprecated"sm"
value maintained for backward compatibility. -
plot.stslist.rep()
gains two argumentsseq.alt
to specify the domain in which representatives are displayed andinfo
to control whether coverage info should be displayed.
Misc.
-
Suppressed dependence on cNORM because of license incompatibility. (
dissdomassoc
uses now a proper internal function in place ofcNORM:::weighted.rank
).
Changes in version 2.2-3 [2022-01-19]
New functions
-
summary.ddomassoc()
summary method that organizes outcome ofdissdomassoc
in table form.
Changes in existing functions
-
dissdomassoc()
now returns also p-values of computed correlations. -
plot.subseqelistchisq()
(plot of outcome ofseqecmpgroup
) gains attributewith.legend
. -
plot.stslist.modst()
new attributeinfo
to control whether frequency of sequence of modal state should be displayed. -
plot.ststlist.meant()
now uses an internal function to draw error bars to avoid issues with dependence on Hmisc. -
plot.ststlist.meant()
new argumentsbar.labels
,cex.barlab
, andoffset.barlab
to display and control bar labels. -
seqmtplot()
(seqplot(..,type="mt", ..)
) adapted for handling bar labels with groups. See details inseqplot
help page. -
seqformat()
withfrom="SPELL"
, provides info about number of sequences truncated, empty sequences because of spell occurring before birth year, and empty because of missing start time. A new attributeissues
contains the indexes of sequences with issues. -
seqdef()
now prints, when applicable, the number of empty sequences and lists the first 9 empty sequences only. -
seqdistmc()
gains an argumentch.sep
to control the separator symbol for building state names of the expanded alphabet. -
seqdistmc()
rows and columns of the returned distance matrix and the mc sequences are now labelled with rownames of the first channel. Rows and columns of the returned mc substitution cost matrix are labelled with the expanded alphabet. -
seqdistmc()
columns of the returned expanded sequence object now labelled with column names of longest domain. -
seqdistmc()
indel
can now be"auto"
(new default) to automatically set indel values. In addition, state dependent indels are now supported. -
seqdistmc()
with.missing
can now be a vector to provide different values for each channel. -
seqdistmc()
now also supports"INDELS"
and"INDELSLOG"
values for thesm
argument. -
seqcost()
removed "->
" at end of row/column labels of matrixsm
.
Bug fixes
-
seqdiff()
negative values incmprange
caused an error. -
seqdiff()
changed deprecatednorm=TRUE
intonorm='auto'
in defaultseqdist.args
value. -
seqecreate()
NA
s introduced by coercion with characterid
.
Misc.
-
Dependence on boot and RColorBrewer replaced by importFrom of functions
boot
andbrewer.pal
.
Changes in version 2.2-2 [2021-06-03]
New functions
-
seqidegrad()
degradation index (replacesseqprecorr()
that becomes obsolete). Classseqprecorr
now namedseqidegrad
and associated print method renamed accordingly. -
seqibad()
badness index. -
seqinsecurity()
insecurity index. -
dissdomassoc()
computes measures proposed in Piccarreta (SMR 2017) to assess the degree of association between domains.
Changes in existing functions
-
seqdist()
can now compute distances between two subsets of sequences. The subsets are defined by providing a list with two subsets of sequence indexes asrefseq
argument. -
seqdist()
dimnames of the objects returned by seqdist are now all set from the rownames of the provided sequence object. -
seqdist()
method="DHD"
now supportssm="INDELS"
andsm="INDELSLOG"
. -
seqcost()
time.varying=TRUE
works with"INDELS"
and"INDELSLOG"
. -
seqdistmc()
gains awhat
argument to choose what value will be returned: distances, costs, or combined state sequences. -
seqintegration()
renamedseqintegr()
-
seqindic()
the possibleindic
list gains elements'degrad'
for degradation index,'bad'
for badness index,'insec'
for insecurity index, and the type 2 forms'meand2'
,'dustd2'
,'turb2'
, and'turb2n'
taking non-visited states into account. In addition,indic
accepts now also value'ranked'
that is equivalent toc('degrad','bad','prec','insec')
. -
seqindic()
value'inpos'
ofindic
renamed'integr'
,'volat'
now in the'complexity'
group. -
seqindic()
changes in order of indicators in the returned table. -
seqformat()
withfrom='SPELL'
andprocess=TRUE
now issues a warning message when the max of theend
column exceedslimit
. -
seqlegend()
gains an argumentboxes
to control how colors are displayed. In addition, now supports any argument of functionlegend
and, e.g.x
(orx
andy
) can be used instead ofposition
. -
seqstatf()
gains thewith.missing
argument. -
seqlogp()
gains thewith.missing
argument. In addition, the overall state distribution can now be used as starting point by settingbegin='global.freq'.
Bug fixes
-
seqlogp()
error for state sequences with missing values.
Misc.
-
New imports from psych and cNORM (for
dissdomassoc
)
Changes in version 2.2-1 [2020-10-24]
New functions
-
seqivardur()
computes the variance of spell durations for each individual sequence. Either the variance of the observed spells or by considering also the 0-time spent in non-visited states. The associated print method can print the mean, standard deviation, variance, and max variance.
Changes in existing functions
-
seqST()
gains an argumenttype
to select the type of duration variance used. -
seqindic()
the possible indicator list gains elements'recu'
for recurrence index,'nvolat'
for normative volatility,'meand'
for mean spell duration,'dustd'
for standard deviation of the duration. Theindic
argument accepts now also values'basic'
,'diversity'
,'complexity'
, and'binary'
that each selects a subset of indicators. -
seqprecstart()
the normalizedstprec
has now a minimum 0. -
seqdist()
the check of allowed number of unique sequences now depends onrefseq
and used thresholds aresqrt(.Machine$integer.max)
whenrefseq==NULL
, and.Machine$integer.max
otherwise. In addition, a new argument permits to skip the test.
Bug Fixes
-
seqdur()
returned sometimes bad values for the duration of the last spell of sequences of unequal lengths whenwith.missing=TRUE
. -
seqdur()
unexpected outcome for sequences with missing values whenwith.missing=FALSE
. Now correctly ignores missing values. -
seqdplot()
andplot.stslist.statd()
ignored thexlab
argument. -
seqconc()
,seqdecomp()
,seqformat()
, and the print method forstslist
objects produced in some circumstances output without the row names of the input data. -
seqsubsn()
error for sequences with missing values whenwith.missing=FALSE
. Now correctly ignores missing values.
Misc.
-
TraMineRextras added to the 'Suggests' list (to avoid NOTE on undeclared package in Rd xrefs.)
Changes in version 2.2-0.1 [2020-04-29]
Misc.
-
seqdef()
: switched back from [grDevices]hcl.colors
to [colorspace]qualitative_hcl
to avoid dependence on R >=3.6 necessary forhcl.colors
.
Changes in version 2.2-0 [2020-04-22]
Changes in existing functions
-
seqdist()
, argumentindel
can now be"auto"
(new default) in which case a suitable indel value is generated for the providedsm
. -
seqdist()
now uses therbind
stslist method to addrefseq
to the set of sequences when it is a state sequence object. (Transparent to the user.) -
seqdist()
now gives a zero weight to therefseq
when specified as a state sequence object. -
seqdist()
refseq
includingrefseq
as a state sequence object can be used with all methods (did not work with OMstran, CHI2, and EUCLID). -
seqdist()
vectorindel
now supported by OMspell and OMslen (in addition to OM and OMstran). -
seqdist()
, normalization now also possible for OMspell, OMslen, OMstran, OMloc, and TWED. -
seqdef()
now useshcl.colors
(grDevices) instead ofqualitative_hcl
(colorspace) to set default colors when n>13. (Transparent to the user.)
Bug fixes
-
rbind.stslist()
bad handling of missing states. -
seqdist()
, argumentsm
did not recognize values"INDELS"
and"INDELSLOG"
. -
seqdist()
raised warnings whenmethod='OMslen'
because of a vector of conditions in an if test. -
seqdist()
ignored theweighted
value when computing substitution costs with the sm method. -
seqdist()
for OMstran ignored theweighted
value when computing probability-based indels (i.e. withtransindel="prob"
). -
seqdist()
TWED wrongly depended on the indel value. Now indel serves only in the improbable case of empty sequences. -
seqdist()
maxlength
andgmean
normalization generated negative distances in some circumstances. Fixed by setting the maximum length as max length x max indel.
Misc.
-
Deleted unused OMVI2distance h and cpp files.
Changes in version 2.0-15 [2020-03-18]
New functions
-
seqintegration()
index of integrative potential of C. Brzinsky-Fay. -
seqivolatility()
index of objective volatility of C. Brzinsky-Fay. -
print.seqipos()
print method for objects returned byseqipos()
. -
is.stslist()
checks that the object is a properstslist
object. -
rbind.stslist()
rbind
method for state sequence objects.
Changes in existing functions
-
seqdef()
now provides a default color palette (using colorspace) when number of states exceeds 12. -
alphabet()
gains an argumentwith.missing
. -
seqipos()
gains an argumentindex
to select between three types of indicators: share of positive states, volatility, or integrative potential for the positive state. -
seqipos()
returned object has an attributesbinary
with the derived binary sequences. -
seqindic()
possible values for argumentindic
include now the indicators of objective volatility and integrative potential both for the provided sequences and the positive-negative sequences derived from them. -
seqdist()
: OMloc, OMslen, OMspell, and OMstran now also apply to sequences of different lengths. -
seqdist()
:with.missing=TRUE
now supported by all methods. -
seqdist()
raises a warning when there are empty sequences except for OMloc where an error is raised. -
seqcost()
:with.missing
forced asFALSE
(as inseqdist
) when there are no non-void missings in the sequences. -
seqprecorr()
: new methods"FREQ+"
,"TRATE+"
,"TRATEDSS+"
,"RANK+"
that adjust the returned penalty for the mean transition weight. -
seqprecorr()
, a same state value is assigned to equivalent states when counting transitions and computing transition probabilities (methodsFREQ
,TRATE
,TRATEDSS
).
Bug fixes
-
Print methods for
seqprec
andseqprecorr
objects did not work. -
print.stslist()
did not print ending missing values whenformat='SPS'
. -
print.stslist()
, whenformat='SPS'
, additional parameters for controlling the format were ignored. -
seqformat()
did not account for theright
argument whento='SPS'
. -
seqdist()
withmethod=CHI2
. Fixed issue with unexpected warnings when over an interval all sequences stay in the same state. -
seqdist()
raised an error for some methods when the unused argumentindel
was a vector. -
seqdist()
, argumentsm
: values'CONSTANT'
and'TRATE'
were only accepted formethod='OM'
and'HAM'
. Now can be used with all methods that require thesm
argument. -
seqplot()
raised an error when deprecatedtlim
argument was used. Now a warning. -
[]
subsetting ofstslist
objects with negative column indexes produced unexpected results.
Changes in version 2.0-14 [2020-01-13]
Bug Fixes:
-
print.stslist.freq()
wrongly usedwidth
argument.
Changes in version 2.0-13 [2019-11-19]
New functions
-
seqindic()
returns a table with per sequence values of selected indicators. -
seqipos()
proportion of positive spells/states per sequence. -
seqprecarity()
precarity index (previously in TraMineRextras) -
seqprecorr()
correction factor for precarity index (previously in TraMineRextras) -
seqprecstart()
state precarity level for precarity index (previously in TraMineRextras)
Changes in existing functions:
-
seqlength()
,seqST()
, andseqsubsn()
gain awith.missing
argument to control how missing values should be treated.
Bug Fixes:
-
seqST()
normalization did not account for non-void missing values when present.
Misc.:
-
Fixed issue with
\traminer
in vignette.
Changes in version 2.0-12 [2019-06-21]
Changes in existing functions:
-
seqdef()
now raises an error when argumentalphabet
contains duplicate elements. -
alphabet()
in its assign form now raises an error when the assigned vector contains duplicate elements. -
seqdist()
gains a new argumentglobal.pdotj
to control the marginal distribution to be used for the'CHI2'
distance. -
seqdist()
,'CHI2'
and'EUCLID'
distances are now, whennorm='auto'
, normalized by the maximal distance, which for'CHI2'
depends on the marginal state distribution. -
seqici()
,seqient()
, andseqST()
gain a new argumentsilent
to control whether messages about running operations should be displayed. -
seqST()
: suppression of useless messages whennorm=TRUE
.
Misc.:
-
Suppressed unused argument
weighted
from internalOMstran
function. -
Help page for
seqdist
: description of theweighted
argument adjusted to reflect that it applies only to the"CHI2"
distance. -
Updated links to Swiss Household Panel in
actcal
andbiofam
help pages.
Changes in version 2.0-11.1 [2019-03-22]
Bug Fixes:
-
eventseq.cpp: rchk message 'calling allocating function
Rf_asChar
with argument allocated usingTMRNumberFormat
'.
Changes in version 2.0-11 [2019-03-18]
Changes in existing functions:
-
seqdef()
. Speed improvement suggested by Jouni Helske. Transparent for the user. -
seqdist()
. An error is raised when the number of unique sequences exceeds the maximal allowed. -
plot.ststlist.statd()
. Now checks thetype
argument and returns the values plotted.
Bug Fixes:
-
seqtab()
,seqxtract(), checkcost(), SPELL_to_STS()
. Issues withlength > 1 in coercion to logical
. -
Warning about potential stack imbalanced
PROTECT
in relation withTMRNumberFormat
in the C++ code (eventseq.cpp).
Changes in version 2.0-10 [2018-11-18]
Bug Fixes:
-
seqdist()
: whenrefseq
was passed as a state sequence object wrong results were sometimes returned. -
seqdist()
: CHI2 and EUCLID distances were computed using counts instead of proportions. -
seqdist()
: CHI2 and EUCLID bad behavior in presence of missings. -
Vignette: Fixed issue with updated
fancyvrb.sty
.
Misc.:
-
Vignette: Error in formula for complexity index. Also, now DOI instead of link to JSS article.
Changes in version 2.0-9 [2018-08-20]
Changes in existing functions:
-
seqplot()
now supports thencol
argument for controlling the number of columns in the color legend. -
seqdef()
: new argumenttick.last
to set thetick.last
attribute of the state sequence object. Default istick.last = FALSE
to preserve the previous behavior. -
plot.stslist()
,plot.stslist.freq()
,plot.stslist.statd()
,plot.stslist.modst()
,plot.stslist.rep()
(i.e. alsoseqplot
with type"i"
,"I"
,"f"
,"d"
,"Ht"
,"ms"
, or"r"
), andplot.seqdiff()
: new argumenttick.last
that when set asTRUE
allows to enforce a tick mark at the last position on the time x-axis. Has no effect when the last position is 1 + a multiple ofxtstep
. Default is to use thetick.last
attribute of the state sequence object. -
seqformat()
:-
For
from = "SPELL"
andprocess = FALSE
,pdata = "auto"
is now equivalent toNULL
instead of raising an error. Also, using argumentpvar
withpdata = NULL
now raises a warning instead of an error andpvar
is simply ignored. -
For
from = "SPELL"
an error is raised when columns referred to bybegin
andend
are of class "Date". Integer values are expected. -
When
from = "SPELL"
orto = "SPELL"
, an error is raised when the birth year column ofpdata
is of class "Date". Integer values are expected.
-
-
seqplot()
: fortype = "r"
(seqrplot
), an error is raised when a group has less than two cases.
Bug fixes:
-
seqformat()
: An unneeded warning was raised when data was a matrix with a single string element. -
seqdef()
: Bad handling ofmissing
argument wheninformat = "SPS"
or"SPELL"
.
Changes in version 2.0-8 [2018-01-26]
Changes in existing functions:
-
seqcost()
: argumentmiss.cost.fixed
is nowNULL
by default and will be set asFALSE
whenmethod = "INDELS"
or"INDELSLOG"
, and asTRUE
otherwise. -
seqpcplot()
: new logicalweighted
argument to control whether weights should be used or not.
Bug fixes:
-
seqrplot()
andseqplot(..., type="r", ...)
: themethod
and other related arguments for computing thediss
matrix when the later was not provided was not recognized. -
seqplot()
: Fixed some unused argument issues.
Misc:
-
Vignette: Suppressed the loading of two unused LaTeX packages (subfigure and afterpage) that prevented the vignette to be built under OSX.
-
Declaring use of C++11 for log1p:
SystemRequirements: C++11
declaration inDESCRIPTION
andmath.h
header inNMSdistance.cpp
-
Internal function
checkargs()
renamed asTraMineR.check.depr.args()
and made public for use inTraMineRextras
.
Changes in version 2.0-7 [2017-08-15]
Changes in existing functions:
-
alphabet()
: the get form now also applies to event sequences. In addition, an error is now raised when the argument is not a state sequence object, an event sequence object, or a probabilistic suffix tree (see the PST package for the latter). -
seqdecomp()
: themiss
argument can now also be a vector, e.g.miss = c("*", "%")
-
seqformat()
has a newright
argument to be used withto = 'SPELL'
. The defaultright = 'DEL'
suppresses the end spells of missing values. Setright = NA
to keep the end spells of missing values. -
seqdef()
now raises an error message whenvoid
is not a character different fromleft
,gaps
, andright
. -
seqtrate()
gains a new argumentcount
. Whencount = TRUE
, the function returns counts of transitions instead of transition probabilities.
Bug fixes
-
seqpcplot()
: Due to a change in the Rtapply
function, optionltype="non-embeddable"
did no longer work. -
seqefsub()
with non-nullstr.subseq
argument: multiple partial matches between events instr.subseq
and the alphabet of events of theeseq
event sequence object crashed the R session. Fixed by a change in the internalseqecreatesub
function. -
seqformat()
:to="TSE"
andto="SPELL"
produced errors or unexpected results in presence of missing and/or void states. Now, whento = "SPELL"
, the missing and void codes are both converted toNA
before conversion while they are kept as is whento = "TSE"
. -
seqetm()
produced an error in presence of void elements. -
An error occurred in the internal
implicativestat
function when a same condition subsequence was present in all subsequences.
Misc:
-
Documentation of
seqformat()
andseqecreate()
: added examples of the handling of missings in conversion into TSE and SPELL format.
Changes in version 2.0-6 [2017-06-17]
Changes in existing functions:
-
seqformat()
:-
Redesigned version of the function with a new extensible, robust and documented implementation.
-
Rewritten documentation with argument types, default values, scopes and detailed explanations.
-
Added and generalized conversion to
"SPELL"
from TraMineRextras; added awith.missing
argument specifically for this conversion. -
Added the possibility to pass directly the unique individual IDs (row names) of the input sequences with
id
when converting to"TSE"
. -
Clarified the meaning of the
id
argument and changed its position in the list of arguments to reflect this. -
Changed the default value of the
id
,begin
,end
, andstatus
arguments (now"SPELL"
oriented). -
Renamed
compressed
argument ascompress
to avoid confusion (here it applies to the output, not to input data). -
Renamed
nr
argument asmissing
to avoid confusion (here it specifies the code to consider as missing values in input data, which is not the TraMineR internal code for missing values in state sequence objects). -
Adapted function calls to match the renamed argument names (
compressed
,nr
) and the new input type checking (ie. single strings are deprecated). -
See the updated documentation of
seqformat()
for details.
-
-
SPS_to_STS()
: renamednr
argument asmissing
to matchseqformat()
argument names renaming.
Bug fixes:
-
seqformat()
:-
From
"SPELL"
to"TSE"
: output IDs were incorrect. -
From
"SPELL"
to"STS"
: states not appearing in the data were dropped from the output column levels.
-
Misc:
-
Added new internal helper functions:
-
msg.warn0()
: same as the existingmsg.warn()
but without white space insertion. -
is.positive.integers()
: check if an object is a vector of positive integers. -
is.a.character()
: check if an object is a (unique) character. -
is.a.string()
: check if an object is a string. -
is.strings()
: check if an object is a vector of strings. -
is.index()
: check if an object is a positive integer or a string. -
is.indexes()
: check if an object is a vector of positive integers or strings. -
checkindex()
: check if an object is a valid data frame or matrix index; otherwise, an error is raised and an information message is displayed. -
checkindexes()
: check if an object is a vector of valid data frame or matrix indexes; otherwise, an error is raised and an information message is displayed.
-
-
Grouped internal
is.xxx
helper functions into a single TraMineR-is_helpers.R file. -
Generalized
msg.warn()
/msg.warn0()
andmsg()
/msg0()
code. -
Internal C/C++ function
tmrWeightedInertiaDist()
made public as the R functionTraMineRInternalWeightedInertiaDist()
. (Used by packageWeightedcluster
)
Changes in version 2.0-5 [2017-05-13]
Note:
-
This is a major update of the CRAN version of TraMineR.
-
Check also changes in versions 1.9-14, 2.0-0, 2.0-1, 2.0-2, 2.0-3, and 2.0-4 that have not been released on the CRAN.
Bug fixes:
-
seqtrate()
: now accepts a sequence object (seqdata
argument) containing only one sequence. -
seqdist()
: now accepts a reference sequence object (refseq
argument) containing missing values while the main sequence object (seqdata
argument) doesn't.
Misc:
-
Replaced default deprecated values of
norm
inseqdistmc()
andseqtree()
. -
Fixed issues with examples in documentation page of
seqtree()
.
Changes in unreleased version 2.0-4 [2017-04-13]
Changes in existing functions:
-
Renamed several argument names to increase consistency within TraMineR and between TraMineR and R. The aim is also to have a common naming convention within TraMineR. A new internal function (
checkargs()
)is used to guarantee backward compatibility. If the old argument name is used instead of the new one, a warning message with an explanation is displayed and the execution continues. If the new and old argument names are used together, an error message is displayed and the execution stops. The following functions have at least one renamed argument:dissrep()
,disstree()
,disstree2dot()
,disstree2dotp()
,disstreedisplay()
,is.eseq()
,is.seqelist()
,seqdiff()
,seqeconstraint()
,seqecontain()
,seqecreate()
,seqefsub()
,seqeid()
,seqelength()
,seqelength<-
,seqetm()
,seqeweight()
,seqeweight<-
,seqlegend()
,seqpcplot()
,seqplot()
,seqrep()
,seqtab()
,seqtrate()
,seqtree()
,seqtree2dot()
,seqtreedisplay()
,seqeisweighted()
,plot.seqalign()
,plot.seqdiff()
,plot.stslist()
,plot.stslist.freq()
,plot.stslist.meant()
,plot.stslist.modst()
,plot.stslist.rep()
,plot.stslist.statd()
,plot.subseqelistchisq()
.
See the help page of each of these functions for the mapping between old and new argument names. -
Renamed function:
is.seqe()
was renamed asis.eseq()
.
Misc:
-
Fixed an issue with an example in the documentation page of
seqpcplot()
. -
Fixed equation typing errors in
seqrep()
documentation.
Version 2.0-3 [2017-04-06] (Unreleased version)
Misc:
-
In
src/tmrsequence.cpp
from TraMineR 1.8-13:-
Fixed two memory errors detected by Valgrind.
-
Fixed a PROTECT error.
-
-
Fixed issues with examples in documentation pages of
dissmfacw
,disstree
,seqtree
, andplot.stslist.meant
.
Version 2.0-2 [2017-03-28] (Unreleased version)
Misc:
-
Changed character encoding from latin1 (ISO-8859-1) to UTF-8.
-
Normalized line endings: LF.
Version 2.0-1 [2017-03-27] (Unreleased version)
Misc:
-
Removed the following unused functions:
vidx()
,seqmatsaltt()
,seqmathenikoff()
. -
Removed the functions deprecated in TraMineR 1.x:
seqesetlength()
,dissreg()
,dissmfac()
.
Version 2.0-0 [2017-03-27] (Unreleased version)
New function:
-
seqcost()
: Evolution ofseqsubm()
that offers different ways (CONSTANT, TRATE, INDELS, INDELSLOG, FUTURE, FEATURES) to determine indel and substitution costs (see the documentation ofseqcost()
for details). Unlikeseqsubm()
,seqcost()
returns both the indel and the substitution costs.
Changes in existing functions:
-
seqdist()
:-
New major version with many new features and a new extensible, robust and documented implementation (R code).
-
New methods: localized OM (
OMloc
), spell length sensitive OM (OMslen
), OM of spells (OMspell
), OM of sequences of transitions (OMstran
), Time Warp Edit Distance (TWED
), Number of Matching Subsequences (NMS
), Number of Matching Subsequences weighted by the Minimum Shared Time (NMSMST
), Subsequence Vectorial Representation (SVRspell
), Euclidean distance (EUCLID
), Chi-squared distance (CHI2
). -
New arguments:
kweights
,tpow
,expcost
,context
,link
,h
,nu
,transindel
,otto
,previous
,add.column
,breaks
,step
,overlap
,weighted
,prox
. -
sm
: value"CONSTANT"
has been removed for DHD as it doesn't make sense and the values"INDELS"
and"INDELSLOG"
have been added (seeseqcost()
documentation). -
norm
: valueTRUE
is replaced by"auto"
andFALSE
by"none"
. -
See the updated documentation of
seqdist()
for details.
-
-
seqsubm()
: This is now an alias forseqcost(...)$sm
.
Version 1.8-14 [2017-03-20] (Unreleased version)
Misc:
-
Registration of native routines for R 3.4.x. See https://stat.ethz.ch/pipermail/r-devel/2017-February/073755.html.
Version 1.8-13
Misc:
-
Changes in C-code for the
seqefsub
function: replaced call to function round by a call tofround
to comply with forthcoming changes in R 3.4.0 (request of Brian D. Ripley). The change is transparent for the user.
Version 1.8-12
Changes in existing functions:
-
seqST()
: new argumentnorm
to ask for a normalized turbulence index. -
seqformat()
: The transformation now stops with an error message when the columns referenced with the begin and end argument contain a non integer value.
Bug fixes:
-
plot.stslist()
: an unnecessary warning occurred when a vector of labels was passed asytlab
argument. -
seqdef()
: now accepts to create a state sequence object with an alphabet that has only one element. Fixed an error that occurred when there was only one state
New data examples:
-
bfspell
: a small data set with 20 sequences in SPELL format.
Misc:
-
updated
seqformat
help page: now includes an example of a transformation from SPELL to STS. -
fixed bad use of
extern "C" {}
in TraMineR.h (done by B. Ripley, CRAN version 1.8-11.1)
Version 1.8-11
Changes in existing functions:
-
seqmeant()
: Newserr
argument. Whenserr=TRUE
,seqmeant
computes the variance and standard deviation of the total times spent in the different states, and the standard error of the mean total times. -
seqmtplot()
: Whenserr=TRUE
, error bars are displayed in the mean time plot. -
seqdist()
:-
New error message when
sm=NA
with method"OM"
. -
New error message when
refseq
is a state sequence object with an alphabet assigned to it different from that ofseqdata
.
-
Misc:
-
updated
disstreedisplay
help page (tree
argument). -
updated
seqdist
help page (refseq
argument and example). -
updated CITATION file (new ref and fixed a doi argument).
Version 1.8-10
Misc:
-
Updated help pages:
seqeconstraint
,seqtree
,distree2dot
. -
Added required basic packages to the import statements to comply with R v3.3 requirements.
-
One additional exported alias to a TraMineR internal function:
TraMineRInternalSeqgbar
.
Version 1.8-9
New function:
-
seqpcfilter()
: convenience function to define the coloring filter options to be passed asfilter
argument toseqpcplot()
.
Changes in existing functions:
-
seqpm()
: Newsep
argument to allow searching for string patterns when states are not labelled with single characters. -
seqpcplot()
:-
New argument
seed
to control the jittering. -
The
filter
argument can now simply be a scalar, in which case theminfreq
filter is applied with this numeric value as threshold. See also the new functionseqpcfilter()
. -
New argument
missing
to control whether and how to display missing values.
-
Bug fixes:
-
seqformat()
: fixed error occurring when converting from STS to TSE with atevent
matrix containing empty strings (i.e.""
) -
dissmfacw()
: reported F values now obtained by dividing the within discrepancy in the denominator by (n-m
), wheren
is the sample size andm
the total number of predictors (contrasts for categorical factors). Up to here (n-m-1
) was mistakenly used (Reported by Vicente Ponsoda.)
Misc:
-
Two additional exported aliases to TraMineR internal functions:
TraMineRInternalSeqeage
andTraMineRInternalLegend
.
Version 1.8-8
Bug fixes:
-
seqecreate()
: an error is thrown when events are not grouped by id in inputted TSE data. (Reported by Nicolas Jay). This requirement is now specified inseqecreate
help page.
Misc:
-
exported alias functions allowing other packages to access TraMineR internal functions (see
?TraMineRInternalLayout
).
Version 1.8-7
Changes in existing functions:
-
seqpcplot()
: Suppressed unnecessaryoutput
argument. Theseqpcplot
object is automatically retrieved when using the assignment operator, e.g.,p <- seqepcplot(...)
.
Bug fixes:
-
seqformat()
: When converting from STS to TSE, an error was raised if the tevent matrix had empty strings (i.e.""
). Now, this is considered as no event. -
seqpcplot()
: Fixed error that appeared at the use of"_end"
events. -
seqpcplot()
: An error occurred when plotting a state sequence object (of classstslist
) with a numericcnames
attribute.
Misc:
-
Required packages
RColorBrewer
andboot
now listed as"imports"
in DESCRIPTION and usingimport
in NAMESPACE.
Version 1.8-6
Changes in existing functions:
-
seqformat()
: newnr
argument to specify the missing state symbol in SPS input. -
disstreeleaf()
: new logicallabel
argument to specify whether the leaf membership should be labelled with the classification rules.
Bug fixes:
-
seqtreedisplay()
anddisstreedisplay()
: GraphViz installer no longer adds GraphViz to the PATH environment variable. Therefore the two functions have been adapted to search for GraphViz. In case GraphViz would not be found, you can specify the GraphViz installation directory with the newgvpath
argument. -
disstree()
andseqtree()
: removed the warning whenR
equals0
or1
(no permutations). -
seqformat()
: fixed a problem with missing states when converting from SPS to STS (see Changes in function above.) -
seqpcplot()
: fixed issues withwhich
argument ofplot.seqpcplot
. -
seqpcplot()
: fixed issues with argumentsxlab
andtitle
. -
seqpcplot()
: replaced a warning message by an error message at failures in finding plot positions for sequences. The error message advices to modify the (currently hidden)maxit
argument. Additionally, automatically generated subtitles are now hidden when the argumenttitle
is used. -
as.character.seqelist()
,print.seqelist()
: fixed an issue with time display in event sequences which was in scientific notation for numbers with more than 2 digits. The function now uses the R format function and thus accounts for global formatting options such asoptions(digits=)
and/oroptions(scipen=)
. -
seqtrate()
: fixed error with sequence objects having only two columns.
New functionalities:
-
disstree2dot()
anddisstree2dotp()
gain a new argument calledtitle.outer
. Iftitle.outer=TRUE
, the title is printed in the outer margins.
Version 1.8-5
Bug fixes:
-
seqefsub()
: reported support did not properly account for weights. -
seqtreedisplay()
: corrected a bug when using representative sequences and adist
object was passed to thedist.matrix
argument (reported by Emanuela Struffolino). -
seqLLCS()
andseqLLCP()
: added a check on the argument. Both sequences should belong to state sequence objects with a common alphabet. -
seqpcplot()
: small change in default lowerylim
.
Help pages:
-
help pages updated with author and keyword fields.
Version 1.8-4
Bug fixes:
-
seqrep()
,dissrep()
,seqrplot()
: wrong (unweighted)"na"
values were returned; also quality measures"MD"
(mean distance to representative) and"V"
(discrepancy) were not computed properly when more than one representative selected (since version 1.8-2).
User invisible changes:
-
Added an internal function to fix an issue with an internal C level function when called from other packages.
Version 1.8-3
Information pages:
-
Updated online help pages.
-
Updated list of references returned by
citation("TraMineR")
.
New functionalities:
-
seqpcplot()
: parallel coordinate plot for sequence data.
Changes in existing functions:
-
seqdss()
: adding long state labels to returned sequence object. -
seqplot()
: new optiontype = "pc"
. -
seqplot()
,seqdplot()
,seqiplot()
,seqfplot()
,seqmsplot()
,seqrplot()
: ifdensity
and/orangle
are used to produce shading lines instead of solid colors, the legend is plotted using the same parameters and thus corresponds to the colors/shades used in the plot. -
seqplot()
: ifgroup
argument is a factor, the plots are now ordered the same way as the factor levels. -
seqplot()
,plot.stslist()
: ifsortv
is a factor, the sequences are now sorted according to the order of the factor levels. -
seqmodst()
andplot.stslist.modst()
: changed name of attributeoccurences
of object returned byseqmodst
tooccurrences
. Made resulting changes inplot.stslsit.modst
.
Bug fixes:
-
seqdef()
: When selecting subsets of sequence objects usingrownames
instead of row indexes, the corresponding weights were not selected. Fixed by setting (row)names of weight vector as the sequencerownames
. (Alexis Gabadinho)
Version 1.8-2
Vignettes:
-
Slightly modified JSS article vol. 40(4) added as a vignette on state sequence analysis.
Misc:
-
added
ex2
data sets to test and illustrate the handling of weights, typehelp(ex2)
for details.
New functionalities:
-
New faster interface between C code and R.
-
seqalign()
and associatedprint
andplot
methods to see computation details about the alignment of two state sequences.
Changes in existing functions:
-
seqtree()
,disstree()
: speed improvements. -
seqtm()
: gives a warning when state names or state labels contain a comma. -
seqdef()
: changed the display of alphabet, state labels and long labels when creating a state sequence object. -
seqistatd()
andseqmeant()
: addedprop
argument to calculate proportions of time spent in each state instead of absolute values. -
seqplot()
and aliases:group
now also accepts as argument a list of variables/vectors and produces a plot for each combination of the values of the variables in the list. -
dissrep()
,seqrep()
,seqrplot()
: now accounts for weights when present. -
seqtrate()
,seqsubm()
: added two arguments:-
lag
: compute transition rates fromt
tot+
lag
, set to one by default. -
with.missing
: IfTRUE
, compute transition rates to and from missing values.
-
-
seqtreedisplay()
: now overwrites previous file if filename is notNULL
. Tree quality measures displayed with R code. -
checktriangleineq()
: internal function to check triangle inequality is now in C, which allows checking much bigger distance matrices. -
seqIplot()
,seqiplot()
andseqplot()
with type"I"
or"i"
: thesortv
argument now also accepts a sorting method, namely one of"from.start"
or"from.end"
. See the help page?plot.stslist
for explanation. -
seqeconstraint()
and otherseqe...
functions for event sequences: support of subsequences can now be determined by means of any of Joshi's 5 counting methods (see the ref manual page). The method should be specified withseqeconstraint()
. -
seqeapplaysub()
: whenmethod=NULL
is specified (now the default), the count method assigned to the event sequence object is used. Withmethod="count"
CDIST_O (number of distinct occurrences) is used as previously. -
seqrep()
: attributeIndex
of the returned object is now a vector instead of an object of classdissrep
.
Bug fixes:
-
seqtreedisplay()
: was changing current directory when an error occurred in the plotting function. -
dissrep()
,seqrep()
: error whennrep
cannot be reached (reported by M. Studer) -
seqefsub()
: when usingstrsubseq
argument,countMethod
ofseqeconstraint
was not taken into account (Reported by Reto Bürgin). -
seqeconstraint()
: added consistency checks to avoid misuses (Reported by Reto Bürgin). -
print.seqelist()
andas.character.seqelist()
: generatedsegfault
when converting long event sequences to character (Reported by Pierre Molinier). -
seqsubm()
: Very small rounding errors (1e-16
) were sometimes leading to non symmetric substitution cost matrix (Reported by Alexandre Pollien).
Version 1.8-1
Misc:
-
updated references in the citation file and manual pages to point to the newly published article in the Journal of Statistical Software
-
other references update in the manual pages.
Version 1.8
New functionalities:
-
seqtreedisplay()
: drawing a sequence regression tree. -
seqtree()
: creating a sequence regression tree from a dissimilarity matrix. -
seqrecode()
: recoding state sequences objects (i.e., merging states). -
weights are now supported by all dissimilarity analysis functions.
-
weights can be assigned to event sequence objects and are supported by all related functions.
-
seqdef()
:xtstep
option added to set step between displayed tick-marks and labels on the x-axis of state sequence plots. -
seqplot()
:xtstep
option added to state sequence plots.
Bug fixes:
-
seqformat()
: fixed problems withfillblanks
argument when converting from SPELL to STS. -
seqdist()
andseqdistmc()
:method="HAM"
did not account for the provided substitution cost matrix; it used 1 for all substitution costs (Reported by Florian Hertel). -
seqdist()
: fixed a (possible) memory leak. -
seqdss()
,seqdur()
: fixed bad handling of missing values in several cases:-
sequences finishing with missing values,
-
sequences made of only one distinct state and missing values.
-
-
seqiplot()
,seqIplot()
,seqfplot()
: changed the automatic setting of the x-axis length, to ensure identical lengths of the x-axis when the maximal sequence length differs between groups (reported by M. Studer). -
seqplot()
and aliases: fixed error withxaxis
argument. -
seqtransn()
: the returned normalized number of transitions for sequences of length 1 wasNaN
(value oftransn.norm=0/seqlength-1
). Now set to 0. -
seqici()
: returns now correctly 0 instead ofNaN
for sequences of length 1.
Changes in existing functions:
-
seqient()
: new optionbase
for choosing the base of the logarithm used to compute the entropy. -
seqdist()
: enhanced check of substitution cost matrix.-
The function can now be cleanly interrupted by the user.
-
Timing information now uses the processor time (instead of the elapsed time).
-
-
seqformat()
when converting from "SPELL":-
new error message when a start time is lower than 1 and/or an end time is smaller than the start time.
-
warning message when start time of episode 1 is missing (sequence creation is skipped)
-
warning message when start/end time of an episode is missing (episode is skipped and filled with NA's)
-
-
disstree()
anddissassoc()
have been entirely redesigned; objects created with the old function are no longer supported. -
seqdss()
andseqdur()
: the number of columns of the returned object is now set to the maximum DSS length rather than to the length of the original state sequence object.
Misc:
-
ex1
example data set: contains now an additional sequence's7'
with only missing values.
Version 1.6-2
Bug fixes:
-
seqdef()
: now checks whether all states encountered in the input data are present in an optional user provided alphabet (state
argument) -
seqefsub()
: The support of a subsequence with a total support of 1 was set to 0 (hence, this only applies if the minimum support is 1.) This is now corrected (Reported by Anna Hera). -
Corrected compilation problems under SOLARIS (Reported by Prof Brian Ripley).
-
seqformat()
: when converting from SPELL to STS, thefillblank
argument was not used.
Version 1.6-1
New functionalities:
-
Added a startup message when loading the TraMineR library.
Changes in existing functions:
-
seqtab()
andseqfplot()
:tlim
argument now allows to return any selected frequent sequences, in the same way as thetlim
argument used inplot.stslist()
andseqiplot()
(Requested by G. Ritschard). For example,tlim=3:6
returns the third, fourth, fifth and sixth most frequent sequences in the set. Default fortlim
is now1:10
instead of10
. -
seqsubsn()
: added detection of missing state in the sequences and computation of number of subsequences by adding missing state to the alphabet. -
seqST()
: added detection of missing state in the sequences and computation of turbulence by adding missing state to the alphabet (Requested by G. Ritschard). -
seqrplot
now accepts ‘half’ matrices (dist
objects) as produced byseqdist
with thefull.matrix=FALSE
option (Requested by L. Lesnard). -
seqiplot()
andplot.stslist()
: newytlab
option allowing to display sequence labels on the Y-axis in sequence index plots (if set to"id"
, the sequence ids are displayed). An additionalylas
option sets the orientation of the labels (Requested by Andrew ?? and P. Jeuniaux). -
seqsubm()
:-
When
method="TRATE"
, the substitution costs are now based on the value ofcval
:SC(i,j) = cval -P(i,j) - P(j,i)
whereP(i,j)
is the transition rate from statei
toj
. -
added a new
transition
argument to use only transition from"previous"
or"next"
state instead of the default"both"
whentime.varying = TRUE
. -
Now, by default
cval
equals 2, unlesstransition
is set toboth
andtime.varying
isTRUE
in which casecval
equals 4.
-
-
plot.stslist.meant()
,seqmtplot()
,plot.stslist.freq()
,seqfplot()
,plot.stslist.modst()
,seqmsplot()
: added display of weightedn
instead ofn
in axis label ifweighted=TRUE
. -
seqdplot()
: disabled plot of a legend for missing state ifwith.missing=FALSE
(Requested by M. Studer and G. Ritschard). -
seqplot()
,plot.stslist()
,plot.stslist.statd()
,plot.stslist.modst()
,plot.stslist.freq()
,plot.stslist.meant()
: whenweighted=TRUE
, weightedn
displayed in the axis label rounded to 2 digits (Requested by M. Studer).
Bug fixes:
-
plot.stslist.modst()
,seqmsplot()
: fixed bad display of missing states ifwith.missing=TRUE
. -
seqmeant()
: added color for missing state to color palette when usingwith.missing=TRUE
. -
dissrep()
,seqrep()
,seqrplot()
: fixed bad coverage statistics whentsim
set to other than default value of 0.10 (Reported by G. Ritschard). -
seqdist()
: Bad handling of missing values in DHD distance (wrong default substitution costs with missing values, set to one instead of four). -
seqdist()
: Fixed an error inseqdist
when usingrefseq
with missing values (Reported by an anonymous user).
Version 1.6
New functionalities:
-
seqIplot()
andseqplot(..., type="I")
: sequence index plot displaying all sequences with no space (space=0
) and no border (border=NA
) by default. -
stlab()
: retrieving or setting the long state labels of a sequence object. -
seqici()
: computes the complexity index, a composite measure of sequence complexity. -
seqtransn()
: computes the number of transitions in a sequence.
Bug fixes:
-
seqrplot()
andplot.stslist.rep()
: missing states are now correctly plotted (reported by G. Ritschard). -
dissrep()
(called byseqrplot()
andplot.stslist.rep()
): when using coverage threshold, does no longer select one too many representatives. -
seqdplot()
/plot.stslist.statd()
: fixed bad coloring of missing states (reported by M. Studer). -
seqstatd()
andprint.stslist.statd()
: fixed error when printingseqstatd
output and length of the longest short state label was >2. (reported by G. Ritschard). -
seqdss()
: (with defaultwith.missing=FALSE
value) DSS with identical successive states resulted when there were missing values between two identical states. For example, before: DSS of"A-A-*-A-*-A"
was"A-A-A"
and now"A"
.
Changes in existing functions:
-
summary.stslist()
: added information in the output of the summary method for state sequence objects. -
seqdist()
,seqdistmc()
,seqdss()
,seqdur()
,seqient()
,seqistatd()
,seqmpos()
,seqnum()
,seqsubm()
:with.miss
argument replaced bywith.missing
(obsoletewith.miss
argument still works for backward compatibility) -
seqmeant()
: addedwith.missing
argument to account for missing states. -
seqdef()
:-
new warning when one or several sequences contain only missing values.
-
when no weights are provided:
-
weights
attribute of the returned sequence object is now set toNULL
instead to a vector of 1's; -
the
"[>] sum of weights"
message is suppressed;
-
-
new
Version
attribute with the number of the TraMineR version used for creating the sequence object; -
message
"[>] missing values in input file"
changed to"[>] found missing values ('...') in sequence data"
and displayed only if missing values are found in the input data.
-
-
seqIplot()
, seqiplot(), seqplot(..., type="I"), seqplot(..., type="i") and plot.stslist(): newweighted
argument. If set asTRUE
sequence bar widths are set proportional to weights. -
seqiplot()
andplot.stslist()
: when the sequence object contains less than 10 sequences andtlim=NULL
, only the actual sequences are plotted without additional ‘void sequences’. -
seqmodst()
: addedweighted
andwith.missing
arguments. -
seqtab()
andseqstatd()
: attributenbseq
of the returned object is now the sum of weights (ifweighted=TRUE
and the sequence object has weights) instead of the number of sequences. -
seqfplot()
/plot.stslist.freq()
andseqdplot()
/plot.stslist.statd()
: when weights are used, i.e. when theweighted=TRUE
argument is passed and the sequence object has weights,-
the ‘n=...’ in the y axis legend now gives the sum of weights instead of the number of sequences;
-
‘weighted’ is specified in the y axis legend;
-
-
seqfplot()
andplot.stslist.freq()
: more precise positioning of the 0 of the y axis; -
seqrplot()
andplot.stslist.rep()
:-
new
stats
option. If set toFALSE
, statistics are not plotted; -
label of the yaxis changed.
-
-
dissrep()
: name of the main argument changed fromdist.matrix
todiss
as in otherdiss...
functions.
Version 1.4-1
Bug fixes:
-
seqecreate()
: Problems with handling simultaneous events when creating event sequences with data not previously sorted onid
,timestamp
andevent
. -
seqrep()
with"density"
criterion: neighborhood diameter is now correctly set totrep*dmax
instead oftrep
.
New functionalities:
-
dissrep()
: extracts a set of representative objects using a dissimilarity matrix. This function is used byseqrep
.
Changes in existing functions:
-
seqrep()
:-
much faster extraction of the representative set;
-
default criterion is now
"density"
instead of"frequency"
; -
trep
now sets a coverage threshold for the representative set rather than a size threshold for the candidate list; -
in the output object, name of the attribute containing statistics for the representative set changed from
Quality
toStatistics
and that of the attribute containing the overall quality measure changed fromrindex
toQuality
.
-
-
seqplot()
: now checks that the length of the vector given asgroup
argument matches the number of sequences. -
plot.stslist()
: now checks that the length of the vector given assortv
argument matches the number of sequences. -
seqformat()
: dramatic speed improvement in conversion from SPELL data.
Version 1.4
New functionalities:
-
TraMineR.checkupdates()
: check for TraMineR updates. -
seqdistmc()
: computes multichannel distances. -
seqmeant()
: computes mean duration in each state. -
seqmodst()
: returns the sequence of modal states. -
seqmsplot()
: for plotting the sequence of modal states. This function is a shortcut forseqplot
withtype="ms"
, see below. -
seqrep()
: extracts a set of representative sequences. -
seqrplot()
: for producing representative sequence plots. This function is a shortcut forseqplot
withtype="r"
, see below. -
seqHtplot()
: for producing Entropy Index plots. This function is a shortcut forseqplot
withtype="Ht"
, see below. -
seqlogp()
: Computing logarithm of sequence probabilities. -
seqdef()
: newweights=
option for providing a vector of weights. -
seqstatd()
,seqtrate()
,seqlogp()
andseqtab()
: new optionweighted=TRUE
for using the weights when computing the statistics. -
seqtrate()
andseqsubm()
: newtime.varying
argument for computing position dependant transition rates or costs. -
seqdist()
: two additional methods are now available for computing distances, namely"HAM"
(Hamming distance) and"DHD"
(Dynamic Hamming Distance). -
Output produced by
seqstatd()
,seqtab()
,seqmeant()
,seqmodst()
, andseqrep()
can now be plotted with theirplot()
dedicated methods (see new classes and methods below).
Important changes:
-
seqplot()
: is now the generic function for plotting state sequence objects withtype
argument. Available types are"d"
for state distribution plots,"f"
for sequence frequency plots,"Ht"
for entropy index plots,"i"
for sequence index plots,"ms"
for modal state sequence plots,"mt"
for meant time plots,"r"
for representative plots. This function replaces the previous genericplot.stslist()
function. -
plot.stslist()
: now produces only a sequence index plot (see new classes and methods below).
Changes in existing functions:
-
seqfplot()
:-
new
yaxis
option: withyaxis="cum"
(default) cumulated percentages are displayed, while withyaxis="pct"
individual sequence percentages are shown. -
pbarw=TRUE
is now the default for thepbarw
argument.
-
-
seqtab()
: theformat
argument that specifies the format of the sequences displayed as rownames is now set by default to the short SPS format, e.g.TR/9-EM/63
. -
seqiplot()
: sequence indexes are now displayed by default on the y axis. This can be disabled withyaxis=FALSE
.
Fixed minor bugs in seqformat():
-
changes concern mainly the
from="SPELL"
andfrom="SPS"
options.
New classes and methods:
-
new class
stslist.statd
for objects produced by theseqstatd()
function and methods for printing and plotting such objects. -
new class
stslist.freq
for objects produced byseqtab()
function and methods for printing and plotting such objects. -
new class
stslist.meant
for objects produced byseqmeant()
function and methods for printing and plotting such objects. -
new class
stslist.modst
for objects produced byseqmodst()
function and methods for printing and plotting such objects.
Version 1.2-1
Changes in function arguments:
-
seqdef()
: newid
argument for setting the rownames of the sequence object. -
disscenter()
: newmedoid.index
argument to get the indexes of all medoids (rather than only the first one).
Minor bugs fixed:
-
Plotting missing states with
seqiplot()
andseqfplot()
functions. -
Sum of transition rates with sequences of different lengths not equal to 1.
Version 1.2
Changes regarding plotting functions:
-
New generic function
plot.stlist()
with optiontype=
for plotting state sequence objects of classststlist
created by theseqdef()
function. Old functionsseqdplot()
,seqfplot()
,seqiplot()
,seqmtplot()
work as in the previous version but by callingplot.stslist
with the appropriatetype=
option (types are'd'
,'f'
,'i'
and'mt'
). However, the order of the functions' arguments may have changed and this may cause problems if the names of the arguments were not explicitly specified in your scripts (which is inadvisable anyway).
Changes in the dissimilarity and discrepancy analysis diss module:
-
dissreg()
is renamed todissmfac()
for multi-factor dissimilarity analysis. -
disstree()
: great speed and memory improvements.
Speed and memory improvements:
-
seqformat()
: conversion to TSE format is now much faster. -
seqdur()
-
seqST()
Changes in the computation of distances between sequences:
-
seqdist()
now checks if substitution costs respect the triangle inequality. When this is the case it ensures that the resulting dissimilarity matrix also respects the triangle inequality. -
New options for selecting the distance normalization method.
-
New reversed LCP, i.e. longest common suffix method. (
method="RLCP"
)
Various changes:
-
CITATION file added.
-
seqST()
caused an error when run with more than 12 states: bug fixed. -
Fixed other minor bugs.
Version 1.1
New example data
-
mvad
example data set added
Name changes of functions
-
seqLLCP()
instead of oldseqLCP()
-
seqLLCS()
instead of oldseqLCS()
New module
New diss
module for analysing a dissimilarity matrix (such as the one returned by seqdist
)
-
dissassoc()
: Computes association with a factor; -
dissreg()
: Regression analysis of a dissimilarity matrix; -
disstree()
: Tree analysis of a dissimilarity matrix; -
dissvar()
: Computes a pseudo-variance from a dissimilarity matrix.
Changes in graphic functions
Changes in the graphics functions (seqiplot, seqfplot, seqdplot, ...):
-
New
group
option allowing to draw several plots for the levels of a factor within a single command; -
TraMineR now uses
layout
for controlling the position of the plots and the legend in the graphic area. This is not compatible withpar(mfrow=...)
. To use the standardpar(mfrow=...)
method, one must set theuse.layout=FALSE
option in the plot functions; -
seqmtplot()
: new function that plots the mean time spent in each state; -
Option
withborder=FALSE
is now obsolete and replaced by the standardborder=NA
option.
Changes in event sequence (seqe) module:
-
New plot for exhibiting discriminant subsequences (
seqecmpgroup
). -
Overall syntax have been reviewed and is now much simpler.
-
seqefsub
now allows to search for user specified subsequences (seqefsub
). -
Event subsequence lists now have specific plot and print method (
seqefsub
,seqecmpgroup
) -
seqecreate
now accepts state sequences and performs automatic conversion (seqecreate
) -
Time constraints are now implemented separately and are stored with the results (
seqeconstraint
)
Changes in the seqformat() function:
-
New options for importing SPELL formatted data.
-
The STS internal and the output in STS, SPS or DSS formats are now by default in extended format (a matrix with one state per column) instead of compressed format (a character string). Use the
compressed=TRUE
option to get an output in the compressed format (sequences as character strings). -
"SPS1"
and"SPS2"
formats are now replaced by the generic"SPS"
format with optionsSPS.in
andSPS.out
for defining the separator and surrounding characters used for specifying the state/duration couples.
Other new functions:
-
seqgen()
: generates a random sequence.