[Rsiena-commits] r285 - in pkg: RSiena RSiena/R RSiena/data RSiena/inst/doc RSiena/man RSiena/src RSiena/src/data RSiena/src/model/effects RSiena/src/model/effects/generic RSiena/src/model/tables RSiena/tests RSienaTest RSienaTest/R RSienaTest/data RSienaTest/doc RSienaTest/inst/doc RSienaTest/man RSienaTest/src RSienaTest/src/data RSienaTest/src/model/effects RSienaTest/src/model/effects/generic RSienaTest/src/model/tables RSienaTest/tests

noreply at r-forge.r-project.org noreply at r-forge.r-project.org
Wed May 20 21:25:54 CEST 2015


Author: tomsnijders
Date: 2015-05-20 21:25:53 +0200 (Wed, 20 May 2015)
New Revision: 285

Added:
   pkg/RSiena/src/model/effects/generic/InStarsTimesDegreesFunction.cpp
   pkg/RSiena/src/model/effects/generic/InStarsTimesDegreesFunction.h
   pkg/RSiena/src/model/effects/generic/MixedThreeCyclesFunction.cpp
   pkg/RSiena/src/model/effects/generic/MixedThreeCyclesFunction.h
   pkg/RSiena/src/model/effects/generic/OutActDistance2Function.cpp
   pkg/RSiena/src/model/effects/generic/OutActDistance2Function.h
   pkg/RSienaTest/src/model/effects/generic/InStarsTimesDegreesFunction.cpp
   pkg/RSienaTest/src/model/effects/generic/InStarsTimesDegreesFunction.h
   pkg/RSienaTest/src/model/effects/generic/MixedThreeCyclesFunction.cpp
   pkg/RSienaTest/src/model/effects/generic/MixedThreeCyclesFunction.h
   pkg/RSienaTest/src/model/effects/generic/OutActDistance2Function.cpp
   pkg/RSienaTest/src/model/effects/generic/OutActDistance2Function.h
Modified:
   pkg/RSiena/ChangeLog
   pkg/RSiena/DESCRIPTION
   pkg/RSiena/R/effects.r
   pkg/RSiena/R/effectsDocumentation.r
   pkg/RSiena/R/initializeFRAN.r
   pkg/RSiena/R/phase1.r
   pkg/RSiena/R/phase2.r
   pkg/RSiena/R/phase3.r
   pkg/RSiena/R/print01Report.r
   pkg/RSiena/R/robmon.r
   pkg/RSiena/R/siena07.r
   pkg/RSiena/R/sienaDataCreate.r
   pkg/RSiena/R/sienaModelCreate.r
   pkg/RSiena/R/sienaprint.r
   pkg/RSiena/R/sienatable.r
   pkg/RSiena/R/sienautils.r
   pkg/RSiena/data/allEffects.csv
   pkg/RSiena/inst/doc/RSiena.bib
   pkg/RSiena/inst/doc/RSiena_Manual.pdf
   pkg/RSiena/inst/doc/RSiena_Manual.tex
   pkg/RSiena/man/RSiena-package.Rd
   pkg/RSiena/man/coCovar.Rd
   pkg/RSiena/man/siena07.Rd
   pkg/RSiena/man/sienaAlgorithmCreate.Rd
   pkg/RSiena/man/varCovar.Rd
   pkg/RSiena/src/data/Covariate.cpp
   pkg/RSiena/src/data/Covariate.h
   pkg/RSiena/src/data/NetworkLongitudinalData.cpp
   pkg/RSiena/src/data/NetworkLongitudinalData.h
   pkg/RSiena/src/model/effects/AltersDist2CovariateAverageEffect.cpp
   pkg/RSiena/src/model/effects/AltersInDist2CovariateAverageEffect.cpp
   pkg/RSiena/src/model/effects/CovariateAndNetworkBehaviorEffect.cpp
   pkg/RSiena/src/model/effects/CovariateDependentBehaviorEffect.cpp
   pkg/RSiena/src/model/effects/CovariateDependentBehaviorEffect.h
   pkg/RSiena/src/model/effects/EffectFactory.cpp
   pkg/RSiena/src/model/effects/HigherCovariateEffect.cpp
   pkg/RSiena/src/model/effects/generic/CovariateDistance2AlterNetworkFunction.cpp
   pkg/RSiena/src/model/effects/generic/CovariateDistance2EgoAltSimNetworkFunction.cpp
   pkg/RSiena/src/model/effects/generic/CovariateDistance2InAlterNetworkFunction.cpp
   pkg/RSiena/src/model/effects/generic/CovariateDistance2NetworkFunction.cpp
   pkg/RSiena/src/model/effects/generic/CovariateDistance2NetworkFunction.h
   pkg/RSiena/src/model/effects/generic/CovariateDistance2SimilarityNetworkFunction.cpp
   pkg/RSiena/src/model/effects/generic/CovariateNetworkAlterFunction.cpp
   pkg/RSiena/src/model/effects/generic/CovariateNetworkAlterFunction.h
   pkg/RSiena/src/model/effects/generic/MixedNetworkAlterFunction.cpp
   pkg/RSiena/src/model/effects/generic/MixedNetworkAlterFunction.h
   pkg/RSiena/src/model/tables/TwoNetworkCache.cpp
   pkg/RSiena/src/model/tables/TwoNetworkCache.h
   pkg/RSiena/src/siena07internals.cpp
   pkg/RSiena/tests/parallel.R
   pkg/RSiena/tests/parallel.Rout.save
   pkg/RSienaTest/ChangeLog
   pkg/RSienaTest/DESCRIPTION
   pkg/RSienaTest/NAMESPACE
   pkg/RSienaTest/R/algorithms.r
   pkg/RSienaTest/R/effects.r
   pkg/RSienaTest/R/effectsDocumentation.r
   pkg/RSienaTest/R/initializeFRAN.r
   pkg/RSienaTest/R/phase1.r
   pkg/RSienaTest/R/phase2.r
   pkg/RSienaTest/R/phase3.r
   pkg/RSienaTest/R/print01Report.r
   pkg/RSienaTest/R/robmon.r
   pkg/RSienaTest/R/siena07.r
   pkg/RSienaTest/R/sienaDataCreate.r
   pkg/RSienaTest/R/sienaModelCreate.r
   pkg/RSienaTest/R/sienaprint.r
   pkg/RSienaTest/R/sienatable.r
   pkg/RSienaTest/R/sienautils.r
   pkg/RSienaTest/data/allEffects.csv
   pkg/RSienaTest/doc/RSIENAspec.tex
   pkg/RSienaTest/doc/Siena_algorithms.tex
   pkg/RSienaTest/inst/doc/RSiena.bib
   pkg/RSienaTest/inst/doc/RSiena_Manual.pdf
   pkg/RSienaTest/inst/doc/RSiena_Manual.tex
   pkg/RSienaTest/man/RSiena-package.Rd
   pkg/RSienaTest/man/coCovar.Rd
   pkg/RSienaTest/man/siena07.Rd
   pkg/RSienaTest/man/sienaAlgorithmCreate.Rd
   pkg/RSienaTest/man/varCovar.Rd
   pkg/RSienaTest/src/data/Covariate.cpp
   pkg/RSienaTest/src/data/Covariate.h
   pkg/RSienaTest/src/data/NetworkLongitudinalData.cpp
   pkg/RSienaTest/src/data/NetworkLongitudinalData.h
   pkg/RSienaTest/src/model/effects/AltersDist2CovariateAverageEffect.cpp
   pkg/RSienaTest/src/model/effects/AltersInDist2CovariateAverageEffect.cpp
   pkg/RSienaTest/src/model/effects/AverageAlterDist2Effect.cpp
   pkg/RSienaTest/src/model/effects/CovariateAndNetworkBehaviorEffect.cpp
   pkg/RSienaTest/src/model/effects/CovariateDependentBehaviorEffect.cpp
   pkg/RSienaTest/src/model/effects/CovariateDependentBehaviorEffect.h
   pkg/RSienaTest/src/model/effects/EffectFactory.cpp
   pkg/RSienaTest/src/model/effects/HigherCovariateEffect.cpp
   pkg/RSienaTest/src/model/effects/generic/CovariateDistance2AlterNetworkFunction.cpp
   pkg/RSienaTest/src/model/effects/generic/CovariateDistance2EgoAltSimNetworkFunction.cpp
   pkg/RSienaTest/src/model/effects/generic/CovariateDistance2InAlterNetworkFunction.cpp
   pkg/RSienaTest/src/model/effects/generic/CovariateDistance2NetworkFunction.cpp
   pkg/RSienaTest/src/model/effects/generic/CovariateDistance2NetworkFunction.h
   pkg/RSienaTest/src/model/effects/generic/CovariateDistance2SimilarityNetworkFunction.cpp
   pkg/RSienaTest/src/model/effects/generic/CovariateNetworkAlterFunction.cpp
   pkg/RSienaTest/src/model/effects/generic/CovariateNetworkAlterFunction.h
   pkg/RSienaTest/src/model/effects/generic/MixedNetworkAlterFunction.cpp
   pkg/RSienaTest/src/model/effects/generic/MixedNetworkAlterFunction.h
   pkg/RSienaTest/src/model/tables/TwoNetworkCache.cpp
   pkg/RSienaTest/src/model/tables/TwoNetworkCache.h
   pkg/RSienaTest/src/siena07internals.cpp
   pkg/RSienaTest/tests/parallel.R
   pkg/RSienaTest/tests/parallel.Rout.save
Log:
New version 1.1-285; extensive changes.

Modified: pkg/RSiena/ChangeLog
===================================================================
--- pkg/RSiena/ChangeLog	2015-04-02 14:58:39 UTC (rev 284)
+++ pkg/RSiena/ChangeLog	2015-05-20 19:25:53 UTC (rev 285)
@@ -1,3 +1,42 @@
+2015-05-20 R-Forge Revision 285
+Changes in RSiena and RSienaTest:
+   * tmax added to sienaFit objects and tconv.max mentioned in print.sienaFit().
+   * sienaAlgorithmCreate() has new arguments n2start,
+     truncation, doubleAveraging, standardizeVar;
+     this leads to various changes in phase2.r.
+   * Diagonalization corrected (matrix transpose) (phase2.r).
+   * Truncation based on multivariate deviation if
+     diagonalize < 1 (phase2.r).
+   * When there are missings in constant or changing monadic covariates,
+     and centered=FALSE for their creation by coCovar() or
+	 varCovar(), the mean will be imputed (used to be 0, which was an error).
+	 For changing covariates, this is the global mean.
+   * In coCovar() and varCovar() there is a new argument imputationValues,
+     which are used (if given) for imputation of missing values.
+	 Like all missings, they are not used for the calculation
+     of the target statistics in the Method of Moments,
+     but only for the simulations.
+   * For non-centered covariates, averageAlter and averageInAlter
+     values for zero degrees were replaced by the observed covariate mean.
+   * New effects: outOutActIntn, toDist2, from.w.ind
+   * New effectGroup tripleNetworkObjective (allEffects.csv, effects.r)
+     (see the manual or effects.r for its characteristics).
+   * In the target statistic for the 'higher' effect, contributions for
+     value(ego)=value(alter) are now set appropriately at 0.5 (was 0).
+   * Decent error message when there are (almost) all NA in the dependent
+     behavioural variable (effects.r, function getBehaviorStartingVals()).
+   * The centering within effects for similarity variables at distance 2 
+     now is done by the same similarity means just as for the simX effect
+	  (attr(mydata$cCovars$mycov, "simMean"), etc.).
+     (Background: this was done earlier by "simMeans",
+     the implementation of which contained an error;
+     but the differentiation between "simMean" and "simMeans" is not important,
+     so "simMeans" was dropped for simplicity.)
+     The object "simMeans" was not yet dropped from the data structure
+     transmitted to C++ (siena07internals.cpp. initializeFRAN.r)
+   * z$positivized changed from matrix to vector (not important enough
+     for so much memory use).
+
 2015-04-02 R-Forge Revision 284
 Changes in RSiena and RSienaTest:
    * New effects: simEgoDist2, simEgoInDist2, simEgoDist2W, simEgoInDist2W,

Modified: pkg/RSiena/DESCRIPTION
===================================================================
--- pkg/RSiena/DESCRIPTION	2015-04-02 14:58:39 UTC (rev 284)
+++ pkg/RSiena/DESCRIPTION	2015-05-20 19:25:53 UTC (rev 285)
@@ -1,8 +1,8 @@
 Package: RSiena
 Type: Package
 Title: Siena - Simulation Investigation for Empirical Network Analysis
-Version: 1.1-284
-Date: 2015-04-02
+Version: 1.1-285
+Date: 2015-05-20
 Author: Ruth Ripley, Krists Boitmanis, Tom A.B. Snijders
 Depends: R (>= 2.15.0), utils
 Imports: Matrix, tcltk, lattice, parallel, MASS
@@ -10,6 +10,7 @@
 SystemRequirements: GNU make, tcl/tk 8.5, Tktable
 Maintainer: Tom A.B. Snijders <tom.snijders at nuffield.ox.ac.uk>
 Description: Statistical modelling for longitudinal network data
+	using stochastic actor-oriented models.
 License: GPL (>= 3)
 LazyLoad: yes
 LazyData: yes

Modified: pkg/RSiena/R/effects.r
===================================================================
--- pkg/RSiena/R/effects.r	2015-04-02 14:58:39 UTC (rev 284)
+++ pkg/RSiena/R/effects.r	2015-05-20 19:25:53 UTC (rev 285)
@@ -259,6 +259,35 @@
                                          netType=netType))
                 }
             }
+			
+			for (k in seq(along=xx$depvars))
+			{
+			# This is an effect group that can be used
+			# for any three dependent networks, provided the first is one-mode;
+			# the receiver sets of the second and third networks
+			# must be the same.
+			# Note that some or all of the three networks may be the same.
+				if ((types[j] == "bipartite") && (types[k] == "bipartite"))
+				{
+					suitable <- (attr(xx$depvars[[j]], 'nodeSet')[2] ==
+							attr(xx$depvars[[k]], 'nodeSet')[2])
+				}
+				else
+				{
+					suitable <- 
+						((types[j] == "oneMode") && (types[k] == "oneMode"))
+				}
+				if (suitable)
+				{
+					thirdName <- names(xx$depvars)[k]
+					objEffects <-
+						rbind(objEffects,
+						  createEffects("tripleNetworkObjective",
+										otherName, thirdName, name=varname,
+										groupName=groupName, group=group,
+										netType=netType))
+				}
+			}
             if (types[j] == 'bipartite' &&
                (attr(xx$depvars[[j]], 'nodeSet')[1] == nodeSet))
             {
@@ -1344,6 +1373,10 @@
       ##  dif2<- nactors/(nactors-1)*(sum(sqrdif,na.rm=TRUE)/nactors-dif^2)
         dif1 <- mean(dif, na.rm=TRUE)
         dif2 <- var(as.vector(dif), na.rm=TRUE)
+		if (is.na(dif2))
+		{
+			stop('Too little information in the dependent variable')
+		}
         if (abs(dif1) < 0.9 * dif2)
         {
             tendency <- 0.5 * sign(dif1) * log((abs(dif1)+dif2)/(dif2-abs(dif1)))

Modified: pkg/RSiena/R/effectsDocumentation.r
===================================================================
--- pkg/RSiena/R/effectsDocumentation.r	2015-04-02 14:58:39 UTC (rev 284)
+++ pkg/RSiena/R/effectsDocumentation.r	2015-05-20 19:25:53 UTC (rev 285)
@@ -71,6 +71,7 @@
                  "nonSymmetricSymmetricObjective",
                  "nonSymmetricBipartiteObjective",
                  "covarNetNetObjective",
+				 "tripleNetworkObjective",
 
                  "symmetricObjective",
                  "dyadObjective",

Modified: pkg/RSiena/R/initializeFRAN.r
===================================================================
--- pkg/RSiena/R/initializeFRAN.r	2015-04-02 14:58:39 UTC (rev 284)
+++ pkg/RSiena/R/initializeFRAN.r	2015-05-20 19:25:53 UTC (rev 285)
@@ -321,8 +321,6 @@
 				# is defined in x and may have changed.
 				# Therefore here we copy the corresponding lines
 				# from phase1.r.
-				if (!x$diagg)
-				{
 					# Partial diagonalization of derivative matrix
 					# for use if 0 < x$diagonalize < 1.
 					temp <- (1-x$diagonalize)*z$dfra +
@@ -332,7 +330,7 @@
 					diag(temp)[z$fixed] <- 1.0
 					# Invert this matrix
 					z$dinvv <- solve(temp)
-				}
+
 				z$sf <- prevAns$sf
 				# check for backward compatibility with pre-1.1-220 versions:
 				if (is.null(prevAns$regrCoef))

Modified: pkg/RSiena/R/phase1.r
===================================================================
--- pkg/RSiena/R/phase1.r	2015-04-02 14:58:39 UTC (rev 284)
+++ pkg/RSiena/R/phase1.r	2015-05-20 19:25:53 UTC (rev 285)
@@ -222,8 +222,6 @@
         fchange <- as.vector(dinv %*% z$mnfra)
         z$dinv <- dinv
     }
-	if (!x$diagg)
-	{
 		# Partial diagonalization of derivative matrix
 		# for use if 0 < x$diagonalize < 1.
 		temp <- (1-x$diagonalize)*z$dfra + x$diagonalize*diag(diag(z$dfra))
@@ -232,7 +230,7 @@
 		diag(temp)[z$fixed] <- 1.0
 		# Invert this matrix
 		z$dinvv <- solve(temp)
-	}
+
     Report('dfra :\n', cf)
     ##  browser()
     PrtOutMat(z$dfra, cf)

Modified: pkg/RSiena/R/phase2.r
===================================================================
--- pkg/RSiena/R/phase2.r	2015-04-02 14:58:39 UTC (rev 284)
+++ pkg/RSiena/R/phase2.r	2015-05-20 19:25:53 UTC (rev 285)
@@ -37,8 +37,20 @@
         tkconfigure(z$tkvars$subphaselabel,state='normal')
     }
     z$Deriv <- FALSE
+	msf <- as.matrix(cov(z$sf)) # as.matrix() just in case z$pp = 1
+#	z$sd <- sqrt(diag(msf))
+# Instead of the preceding line,
+# the following is used for equality with earlier versions.
     z$sd <- sqrt(apply(z$sf, 2, function(x) sum(x^2) / nrow(z$sf) - mean(x)^2))
     z$sd[z$fixed] <- 0
+	z$standardization <-
+						1/sqrt(diag(as.matrix(z$dinvv %*% msf %*% t(z$dinvv))))
+    Report(paste("standardization = ", round(z$standardization,4)), cf)
+	if (sum(z$fixed) < z$pp)
+	{
+		z$sf.invcov <-
+		 solve(msf[!z$fixed, !z$fixed] + 0.0001 * diag(z$pp - sum(z$fixed)))
+	}
     Report(paste('\nPhase 2 has', x$nsub, 'subphases.\n'), cf)
     z$gain <- x$firstg
     z$reduceg <- x$reduceg
@@ -58,7 +70,7 @@
     z
 }
 ##@proc2subphase siena07 Do one subphase of phase 2
-proc2subphase <- function(z, x, subphase, useAverage=TRUE, ...)
+proc2subphase <- function(z, x, subphase, ...)
 {
     ## init subphase of phase 2
     z <- AnnouncePhase(z, x, subphase)
@@ -78,7 +90,7 @@
     {
         z$repeatsubphase <- z$repeatsubphase + 1
         z$truncated <- rep(FALSE, z$n2max)
-        z$positivized <- matrix(FALSE, nrow = z$n2max, ncol = z$pp)
+        z$positivized <- rep(0, z$pp)
         z$ctime <- proc.time()[3]
         z$time1 <- proc.time()[3]
         z$thav <- z$theta
@@ -108,16 +120,19 @@
             Report(msg, cf)
             Report(which(z$truncated), cf, fill=80)
         }
-        if (any(z$positivized))
+        if (any(z$positivized >= 1))
         {
             msg <- paste('Intervention 2.',subphase,
                          '.2: positivity restriction:\n ',sep='')
             Report(msg,cf)
-            subs <- which(rowSums(z$positivized) > 0)
-            msg<- sapply(subs, function(i, y)
-                         paste('Observation:', i, 'Coordinate(s):',
-                               paste((1:z$pp)[y[i,]], collapse = ' ')),
-                         y = z$positivized)
+            subs <- which((z$positivized) > 0)
+			msg <- paste('Positivized: ',
+						paste((1:z$pp)[subs], ': ', z$positivized[subs], '; ',
+						   collapse=' '))
+#            msg<- sapply(subs, function(i, y)
+#                         paste('Observation:', i, 'Coordinate(s):',
+#                               paste((1:z$pp)[y[i,]], collapse = ' ')),
+#                         y = z$positivized)
             Report(msg, cf, fill=80)
         }
         if ((subphase >= 1) && (z$maxacor >= sqrt(2.0 / (z$nit + 1))))
@@ -145,28 +160,13 @@
     {
         Report('The user asked for early end of phase 2.\n', outf)
     }
-    if (useAverage)
-    {
-		z$theta <- z$thav / z$thavn   # z$thavn = (z$nit + 1)
-    }
-    else
-	{
-		cat('\n')
-		cat('Regression\n')
-		##  use regression
-		cat(z$thav / z$thavn, '; ') #(z$nit + 1)
-		stop('Regression not implemented; revive z$thetaStore if you wish')
-#		mylm <- lm(z$sf[1:z$nit, ] ~ z$thetaStore[1:z$nit, ])
-#		coefs <- coef(mylm)[-1, ]
-#		newvals <- solve(t(coefs), - mylm$coef[1, ])
-#		z$theta <- newvals
-		cat(z$theta, '\n')
-	}
-    DisplayThetaAutocor(z)
     ##    cat('it',z$nit,'\n')
     ##recalculate autocor using -1 instead of -2 as error
     ac <- ifelse (z$prod0 > 1e-12, z$prod1 / z$prod0, -1)
     maxacor <- max(-99, ac[!z$fixed]) ##note -1 > -99
+	z$theta <- z$thav / z$thavn   # z$thavn = (z$nit + 1)
+
+    DisplayThetaAutocor(z)
     Report(paste('Phase ', z$Phase,'.', subphase, ' ended after ', z$nit,
                  ' iterations.\n', sep = ''), cf)
     if (x$checktime)
@@ -179,7 +179,7 @@
     }
     if ((maxacor >= sqrt(2 / (z$nit + 1))) && (subphase >= 1))
     {
-        Report('Warning. Autocorrelation criterion not satisfied.\n', cf)
+        Report('Note. Autocorrelation criterion not satisfied.\n', cf)
     }
     WriteOutTheta(z)
     if (EarlyEndPhase2Flag())
@@ -217,6 +217,7 @@
     xsmall <- NULL
     zsmall <- makeZsmall(z)
     z$returnDeps <- FALSE
+	sumfra <- 0.0
     repeat
     {
         z$n <- z$n+1
@@ -336,34 +337,86 @@
 # due to a misunderstanding.
 # In version 1.1-244 it was changed back to the old Siena 3 way.
 # Except now the threshold is 5 instead of 10.
-# For the case !x$diagg it might be better
-# to base truncation on some multivariate norm of z$dfra.
+# In version 1.1-285 the threshold is made a parameter from sienaModelCreate,
+# still with default 5;
+# and for the case !x$diagg, a multivariate truncation is used.
+
+		if (x$diagg)
+		{
         maxRatio <- max(ifelse(z$fixed, 1.0, abs(fra)/ z$sd), na.rm=TRUE)
+		# note: this is a number, not a vector
+		}
+		else
+		{
+			if (z$pp > sum(z$fixed))
+			{
+				maxRatio <-
+					sqrt((t(fra[!z$fixed]) %*% z$sf.invcov %*% fra[!z$fixed]) /
+														(z$pp-sum(z$fixed)))
+			}
+			else
+			{
+				maxRatio <- 1.0
+			}
+		}
 		if ((is.na(maxRatio)) || (is.nan(maxRatio)))
 		{
 			maxRatio <- 1.0
 		}
+		if (maxRatio > x$truncation)
+		{
+			fra <- x$truncation*fra/maxRatio
+			z$truncated[z$nit] <- TRUE
+		}
+		if (subphase > x$doubleAveraging)
+		{
+			sumfra <- sumfra + fra
+			fra <- sumfra
+		}
+		if (x$standardizeVar)
+		{
+			if (x$diagg)
+			{
+				changestep <- fra / z$sd
+			}
+			else
+			{
+				if (x$standardizeWithTruncation)
+				{
+					changestep <- (as.vector(z$dinvv %*% fra))*pmin(z$standardization, 1)
+				}
+				else
+				{
+					changestep <- (as.vector(z$dinvv %*% fra))*z$standardization
+				}
+			}
+		}
+		else
+		{
         if (x$diagg)
 		{
             changestep <- fra / diag(z$dfra)
 		}
 		else
 		{
-			changestep <- as.vector(fra %*% z$dinvv)
+				changestep <- as.vector(z$dinvv %*% fra)
+			}
 		}
 		changestep[z$fixed] <- 0.0
-		if (maxRatio > 5)
-		{
-			changestep <- 5*changestep/maxRatio
-           	z$truncated[z$nit] <- TRUE
-		}
         fchange <- as.vector(z$gain * changestep)
         ## check positivity restriction
-        z$positivized[z$nit, ] <- z$posj & (fchange > z$theta)
+		z$positivized[fchange > z$theta] <- z$positivized[fchange > z$theta] +1
+		z$positivized[!z$posj] <- 0
         fchange <- ifelse(z$posj & (fchange > z$theta), z$theta * 0.5, fchange)
+		if (subphase > x$doubleAveraging)
+		{
+			zsmall$theta <- (z$thav/z$thavn) - fchange
+		}
+		else
+		{
         zsmall$theta <- zsmall$theta - fchange
+		}
         z$theta <- zsmall$theta
-#		z$thetaStore[z$nit,] <- z$theta
         z$thav <- z$thav + zsmall$theta
         z$thavn <- z$thavn + 1
         if (x$maxlike && !is.null(x$moreUpdates) && x$moreUpdates > 0)
@@ -381,8 +434,8 @@
 		if (!(is.na(z$minacor) || is.na(z$maxacor)))
 		{
         if ((z$nit >= z$n2min && z$maxacor < 1e-10)||
-			   (z$nit >= z$n2max)||
-			   ((z$nit >= 50) && (z$minacor < -0.8) &&
+				(z$nit >= z$n2max)
+				|| ((z$nit >= 50) && (z$minacor < -0.8) &&
                 (z$repeatsubphase < z$maxrepeatsubphase)))
         {
             break

Modified: pkg/RSiena/R/phase3.r
===================================================================
--- pkg/RSiena/R/phase3.r	2015-04-02 14:58:39 UTC (rev 284)
+++ pkg/RSiena/R/phase3.r	2015-05-20 19:25:53 UTC (rev 285)
@@ -148,15 +148,13 @@
         ##calculate t-ratios
         dmsf <- diag(z$msf)
         sf <- colMeans(z$sf)
- 		# TS: I wonder why "use" and "use2" are the names in the following lines;
- 		# the coordinates with "use" are <<not>> used.
-        use <- dmsf < 1e-20 * z$scale * z$scale
-        use2 <- abs(sf) < 1e-10 * z$scale
-        dmsf[use] <- 1e-20 * z$scale[use] * z$scale[use]
+        toosmall <- dmsf < 1e-20 * z$scale * z$scale
+        toosmall2 <- abs(sf) < 1e-10 * z$scale
+        dmsf[toosmall] <- 1e-20 * z$scale[toosmall] * z$scale[toosmall]
         tstat <- rep(NA, z$pp)
-        tstat[!use]<- sf[!use] / sqrt(dmsf[!use])
-        tstat[use & use2] <- 0
-        tstat[use & !use2] <- NA # was 999
+        tstat[!toosmall]<- sf[!toosmall] / sqrt(dmsf[!toosmall])
+        tstat[toosmall & toosmall2] <- 0
+        tstat[toosmall & !toosmall2] <- NA
         z$tstat <- tstat
  		# tconv.max = Maximum value of t-ratio for convergence,
  		# for any linear combination.
@@ -168,7 +166,7 @@
  			if (inherits(try(thisproduct <- solve(cov.dev, mean.dev), silent=TRUE),
  						"try-error"))
  			{
- 				Report('Maximum t-ratio for convergence not computable.\n', outf)
+ 	Report('Overall maximum t-ratio for convergence not computable.\n', outf)
  			}
  			else
  			{
@@ -184,10 +182,12 @@
         PrtOutMat(as.matrix(mymess), outf)
         PrtOutMat(as.matrix(mymess1), bof)
         ##  Report(mymess1, bof, fill=80)
-        tmax <- max(abs(tstat)[!z$fixed & !z$BasicRateFunction & z$resist > 0.9])
+        tmax <- max(abs(tstat)[!z$fixed])
         z$tconv <- tstat
-        error <- (abs(tmax) > 4.0 / sqrt(z$Phase3nits)) && (abs(tmax) > 0.3)
-        if (tmax >= 0.4)
+		z$tmax <- tmax
+        error <- (is.na(tmax)) ||
+						(abs(tmax) > 4.0 / sqrt(z$Phase3nits)) && (abs(tmax) > 0.3)
+        if ((is.na(tmax)) || (tmax >= 0.4))
  		{
             z$error <- TRUE
  		}
@@ -197,6 +197,8 @@
  			Report('of non-fixed parameters ', outf)
  		}
         Report('being close to zero.\n', outf)
+		Report(c('\nOverall maximum convergence ratio = ',
+			round(z$tconv.max, digits=4), '.\n'), outf)
         if (z$Phase3nits < 100)
  		{
             Report(c('(Since the diagnostic checks now are based only on ',
@@ -206,7 +208,8 @@
         if (error) ## also test subphase here but not relevant to phase 3, I think
         {
             Report('One or more of the t-statistics are rather large.\n', outf)
-            if (tmax > 0.5)
+			doubts <- ifelse(is.na(tmax), TRUE, tmax > 0.5)
+            if (doubts)
  			{
                 Report('Convergence of the algorithm is doubtful.\n', outf)
  			}

Modified: pkg/RSiena/R/print01Report.r
===================================================================
--- pkg/RSiena/R/print01Report.r	2015-04-02 14:58:39 UTC (rev 284)
+++ pkg/RSiena/R/print01Report.r	2015-05-20 19:25:53 UTC (rev 285)
@@ -1370,101 +1370,6 @@
 				}
 			}
 		}
-		## report on alter similarity means
-		Report(c("\nFor the distance-2 similarity variable calculated from",
-				 "each actor \ncovariate, the mean is also subtracted.\n",
-				 "These means are:\n"), outf)
-		if (nData == 1) ## ie we may have constant covariates
-		{
-			sims <- cCovarSim2[[1]]
-			for (i in seq(along=sims))
-			{
-				if (atts$cCovarPoszvar[i])
-				{
-					Report(c("Distance-2 Similarity ",
-							 format(atts$cCovars[i], width=12),
-							 ':', format(names(sims[[i]]), width=12,
-										 justify="right"), '\n'), sep="", outf)
-					Report(c(rep(" ",  35),
-							 format(round(sims[[i]], 4),  width=12, nsmall=4),
-							 '\n'), sep="", outf)
-				}
-			}
-		}
-		for (i in seq(along=atts$netnames))
-		{
-			if (atts$types[i] == "behavior" && atts$bPoszvar[i])
-			{
-				if (nData > 1)
-				{
-					thisSim <- lapply(behSim2, function(x)x[[netnames[i]]])
-					Report(c("Distance-2 Similarity ",
-							 format(atts$netnames[i], width=12), ":\n"),
-						   sep="", outf)
-					Report(c(rep(" ", 24),
-							 format(names(thisSim[[1]]),
-									width=12, justify="right"), "\n"), sep="",
-						   outf)
-					mystr <- format(paste("	 Subproject ", 1:nData, " <",
-								  atts$names, "> ", sep=""))
-					for (j in seq(along=thisSim))
-					{
-						Report(c(mystr[j], format(round(thisSim[[j]], 4),
-												  nsmall=4, width=12), "\n"),
-							   sep="", outf)
-					}
-					Report("\n", outf)
-				}
-				else
-				{
-					sims <- behSim2[[1]]
-					Report(c("Distance-2 Similarity ", format(atts$netnames[i],
-															 width=12),
-							 ':', format(names(sims[[i]]), width=12), '\n'),
-						   sep="", outf)
-					Report(c(rep(" ",  35), format(round(sims[[i]], 4), width=12,
-										 nsmall=4), '\n'), sep="", outf)
-				}
-			}
-		}
-		for (i in seq(along=atts$vCovars))
-		{
-			covarnames <- atts$vCovars
-			if (atts$vCovarPoszvar[i])
-			{
-				if (nData > 1)
-				{
-					thisSim <- lapply(vCovarSim2, function(x)x[[covarnames[i]]])
-					Report(c("Distance-2 Similarity ", format(covarnames[i],
-															  width=12),
-							 ":\n"), sep="", outf)
-					Report(c(rep(" ", 24), format(names(thisSim[[1]]),
-												  width=12, justify="right"),
-							 "\n"),	 sep="", outf)
-					mystr <- format(paste("	 Subproject ", 1:nData, " <",
-										  atts$names, "> ", sep=""))
-					for (j in seq(along=thisSim))
-					{
-						Report(c(mystr[j], format(round(thisSim[[j]], 4),
-												  nsmall=4, width=12), "\n"),
-							   sep="", outf)
-					}
-					Report("\n", outf)
-				}
-				else
-				{
-					sims <- vCovarSim2[[1]]
-					Report(c("Distance-2 Similarity", format(atts$vCovars[i],
-															 width=12),
-							 ':', format(names(sims[[i]]), width=12,
-										 justify="right"),
-							 '\n'), outf)
-					Report(c(rep(" ",  35), format(round(sims[[i]], 4), width=12,
-												   nsmall=4), '\n'), sep="",
-						   outf)
-				}
-			}
-		}
 	}
 	## report on constraints
 	if (any(atts$anyHigher) || any(atts$anyDisjoint) || any(atts$anyAtLeastOne))

Modified: pkg/RSiena/R/robmon.r
===================================================================
--- pkg/RSiena/R/robmon.r	2015-04-02 14:58:39 UTC (rev 284)
+++ pkg/RSiena/R/robmon.r	2015-05-20 19:25:53 UTC (rev 285)
@@ -146,7 +146,6 @@
     z$theta0 <- z$theta
 	## store starting value without any conditioning variables
     z$anyposj <- any(z$posj)
-    z$resist <- rep(1, z$pp)
     z$n1 <- 7 + 3 * z$pp
 	if (x$dolby){z$n1 <- max(z$n1, 50)}
     if (any(!z$fixed))

Modified: pkg/RSiena/R/siena07.r
===================================================================
--- pkg/RSiena/R/siena07.r	2015-04-02 14:58:39 UTC (rev 284)
+++ pkg/RSiena/R/siena07.r	2015-05-20 19:25:53 UTC (rev 285)
@@ -274,7 +274,8 @@
     ## 2.5198421 = 2^(4/3); this gives a gain parameter of order n^(-3/4) ##
         if (x$nsub > 0)
         {
-            z$n2minimum[1] <- trunc(z$n2min0 * 2.52)
+			z$n2minimum[1] <- 
+				ifelse(is.null(x$n2start), trunc(z$n2min0 * 2.52), x$n2start)
             z$n2maximum[1] <- z$n2minimum[1] + 200
             if (x$nsub > 1)
             {

Modified: pkg/RSiena/R/sienaDataCreate.r
===================================================================
--- pkg/RSiena/R/sienaDataCreate.r	2015-04-02 14:58:39 UTC (rev 284)
+++ pkg/RSiena/R/sienaDataCreate.r	2015-05-20 19:25:53 UTC (rev 285)
@@ -50,6 +50,10 @@
 	attr(x, "name") <- name
 	attr(x, "vartotal") <- vartotal
 	attr(x, "nonMissingCount") <- nonMissingCount
+	if ((!is.null(attr(x, "imputationValues"))) && (attr(x, "centered")))
+	{
+		attr(x, "imputationValues") <- attr(x, "imputationValues") - varmean
+	}
 	x
 
 }
@@ -88,6 +92,10 @@
 	attr(x, 'name') <- name
 	attr(x, "vartotal") <- vartotal
 	attr(x, "nonMissingCount") <- nonMissingCount
+    if ((!is.null(attr(x, "imputationValues"))) && (attr(x, "centered")))
+	{
+		attr(x, "imputationValues") <- attr(x, "imputationValues") - varmean
+	}
 	x
 }
 ##@addAttributes.coDyadCovar DataCreate

Modified: pkg/RSiena/R/sienaModelCreate.r
===================================================================
--- pkg/RSiena/R/sienaModelCreate.r	2015-04-02 14:58:39 UTC (rev 284)
+++ pkg/RSiena/R/sienaModelCreate.r	2015-05-20 19:25:53 UTC (rev 285)
@@ -20,14 +20,15 @@
 sienaModelCreate <-
     function(fn,
              projname="Siena", MaxDegree=0, useStdInits=FALSE,
-             n3=1000, nsub=4, dolby=TRUE,
+n3=1000, nsub=4, n2start = NULL, dolby=TRUE,
              maxlike=FALSE, diagonalize=1.0*!maxlike,
              condvarno=0, condname='',
              firstg=0.2, reduceg=0.5, cond=NA, findiff=FALSE,  seed=NULL,
              pridg=0.05, prcdg=0.05, prper=0.2, pripr=0.3, prdpr=0.3,
              prirms=0.05, prdrms=0.05, maximumPermutationLength=40,
              minimumPermutationLength=2, initialPermutationLength=20,
-             modelType=1, mult=5, simOnly=FALSE, localML=FALSE)
+modelType=1, mult=5, simOnly=FALSE, localML=FALSE,
+truncation=5, doubleAveraging=nsub, standardizeVar=(diagonalize<1))
 {
     model <- NULL
     model$projname <- projname
@@ -37,7 +38,6 @@
     model$firstg <- firstg
     model$reduceg <- reduceg
     model$maxrat <- 1.0
-#    model$maxmaxrat <- 10.0
     model$maxlike <-  maxlike
 	model$simOnly <- simOnly
 	model$localML <- localML
@@ -83,6 +83,7 @@
     }
     model$FinDiff.method <-  findiff
     model$nsub <- nsub
+model$n2start <- n2start
 	model$dolby <- (dolby && (!maxlike))
 	if (diagonalize < 0) {diagonalize <- 0}
 	if (diagonalize > 1) {diagonalize <- 1}
@@ -102,6 +103,24 @@
     model$minimumPermutationLength <- minimumPermutationLength
     model$initialPermutationLength <- initialPermutationLength
     model$mult <- mult
+model$truncation <- truncation
+model$doubleAveraging <- doubleAveraging
+model$standardizeWithTruncation <- standardizeVar
+model$standardizeVar <- standardizeVar
+# The difference between these two is a hidden, non-documented option,
+# perhaps for being tried out
+# by later modification of the sienaAlgorithm object.
+model$noAggregation <- FALSE
+# This also is a hidden, non-documented option, perhaps for being tried out.
+#  \item{noAggregation}{Logical:
+#   do not replace current parameter value after subphase 1
+#   by the mean over subphase 1, if some quasi-autocorrelation
+#   then is larger than .5. May be helpful if initial value was very far away.
+# The two options model$noAggregation and model$standardizeWithTruncation
+# are used only in phase2.r.
+model$browse1 <- FALSE # non-documented options for browsing in phase 2.
+model$browse2 <- FALSE
+model$browse3 <- FALSE
     class(model) <- "sienaAlgorithm"
     model
 }
@@ -110,4 +129,4 @@
 
 
 ##@sienaAlgorithmCreate AlgoritmCreate
-sienaAlgorithmCreate <- sienaModelCreate 
\ No newline at end of file
+sienaAlgorithmCreate <- sienaModelCreate
\ No newline at end of file

Modified: pkg/RSiena/R/sienaprint.r
===================================================================
--- pkg/RSiena/R/sienaprint.r	2015-04-02 14:58:39 UTC (rev 284)
+++ pkg/RSiena/R/sienaprint.r	2015-05-20 19:25:53 UTC (rev 285)
@@ -306,6 +306,11 @@
 					rep('\n',x$pp), sep='')
 			cat(as.matrix(mymess1),'\n', sep='')
 		}
+		else
+		{
+			cat(c("\nOverall maximum convergence ratio: ",
+					sprintf("%8.4f", x$tconv.max), "\n\n"))
+		}
 
 		try(if (x$errorMessage.cov > '')
 				{cat('\nWarning:', x$errorMessage.cov, '\n')}, silent=TRUE)
@@ -342,8 +347,6 @@
         stop("not a legitimate summary of a Siena model fit")
 	}
 	print.sienaFit(x)
-#	cat(c("Overall maximum convergence ratio: ",
-#		sprintf("%8.4f", x$tconv.max), "\n\n"))
 
     if (x$maxlike)
     {

Modified: pkg/RSiena/R/sienatable.r
===================================================================
--- pkg/RSiena/R/sienatable.r	2015-04-02 14:58:39 UTC (rev 284)
+++ pkg/RSiena/R/sienatable.r	2015-05-20 19:25:53 UTC (rev 285)
@@ -34,17 +34,18 @@
     ses <- sqrt(diag(x$covtheta))
     ses[x$fixed] <- NA
     max.t1 <- max(abs(x$tstat[!x$fixed]))
-    max.t <- round(max.t1, digits = d)
+	dd <- 2
+    max.t <- round(max.t1, digits = dd)
     if (max.t < max.t1)
     {
-        max.t <- max.t + 10^{-d} #needs to be rounded up
+        max.t <- max.t + 10^{-dd} #needs to be rounded up
     }
-#    maxlincomb.t1 <- x$tconv.max
-#    maxlincomb.t <- round(maxlincomb.t1, digits = d)
-#    if (maxlincomb.t < maxlincomb.t1)
-#    {
-#        maxlincomb.t <- maxlincomb.t + 10^{-d} #needs to be rounded up
-#    }
+    maxlincomb.t1 <- x$tconv.max
+	maxlincomb.t <- round(maxlincomb.t1, digits = dd)
+    if (maxlincomb.t < maxlincomb.t1)
+    {
+        maxlincomb.t <- maxlincomb.t + 10^{-dd} #needs to be rounded up
+    }
     if (length(x$condvarno) == 0)
     {
         condvarno <- 0
@@ -315,9 +316,9 @@
         footnote <- c(paste("\\multicolumn{5}{l}\n   ",
 			"{\\footnotesize{convergence $t$ ratios all $<$ ", max.t,
 			".}}\\\\\n", 
-#			"\\multicolumn{5}{l}",
-#			"{\\footnotesize{Overall maximum convergence ratio ",
-#			maxlincomb.t,".}}",	
+			"\\multicolumn{5}{l}",
+			"{\\footnotesize{Overall maximum convergence ratio ",
+			maxlincomb.t,".}}",
 			sep="",collapse=""),
 			"\\end{tabular}")
 

Modified: pkg/RSiena/R/sienautils.r
===================================================================
--- pkg/RSiena/R/sienautils.r	2015-04-02 14:58:39 UTC (rev 284)
+++ pkg/RSiena/R/sienautils.r	2015-05-20 19:25:53 UTC (rev 285)
@@ -122,7 +122,7 @@
 }
 
 ##@coCovar Create
-coCovar <- function(val, centered=TRUE, nodeSet="Actors")
+coCovar <- function(val, centered=TRUE, nodeSet="Actors", imputationValues=NULL)
 {
     ##vector, numeric or factor
     if (!is.vector(val))
@@ -133,14 +133,30 @@
 	{
         stop("val must be numeric or a factor")
 	}
+	if (!is.null(imputationValues))
+    {
+		if (!(is.numeric(imputationValues) || is.factor(imputationValues)))
+		{
+			stop("imputationValues must be numeric or a factor")
+		}
+		if (anyNA(imputationValues))
+		{
+			stop("imputationValues must not contain any NA values")
+		}
+		if (length(imputationValues) != length(val))
+		{
+			stop("imputationValues must have the same length as val")
+		}
+	}
     out <- val
     class(out) <- "coCovar"
     attr(out, "centered") <- centered
     attr(out, "nodeSet") <- nodeSet
+    attr(out, "imputationValues") <- imputationValues
     out
 }
 ##@varCovar Create
-varCovar<- function(val, centered=TRUE, nodeSet="Actors")
+varCovar<- function(val, centered=TRUE, nodeSet="Actors", imputationValues=NULL)
 {
     ##matrix, numeric or factor, nrow = nactors and cols = observations-1
     if (!is.matrix(val))
@@ -151,10 +167,26 @@
 	{
         stop("val must be numeric or a factor")
 	}
+    if (!is.null(imputationValues))
+    {
+		if (!(is.numeric(imputationValues) || is.factor(imputationValues)))
+		{
+			stop("imputationValues must be numeric or a factor")
+		}
+		if (any(is.na(imputationValues)))
+		{
+			stop("imputationValues must not contain any NA values")
+		}
+		if (any(dim(imputationValues) != dim(val)))
+		{
+			stop("imputationValues must have the same dimension as val")
+		}
+	}
     out <- val
     class(out) <- "varCovar"
     attr(out, "centered") <- centered
     attr(out, "nodeSet") <- nodeSet
+    attr(out, "imputationValues") <- imputationValues
     out
 }
 

Modified: pkg/RSiena/data/allEffects.csv
===================================================================
--- pkg/RSiena/data/allEffects.csv	2015-04-02 14:58:39 UTC (rev 284)
+++ pkg/RSiena/data/allEffects.csv	2015-05-20 19:25:53 UTC (rev 285)
@@ -103,28 +103,28 @@
 dyadObjective,XW=>X closure of xxxxxx,XW=>X closure1 of xxxxxx,XWX1,FALSE,xxxxxx,,eval,FALSE,FALSE,FALSE,FALSE,FALSE,",",0,0,objective,NA,NA,0,0,0,0,,FALSE
 dyadObjective,XW=>X closure of xxxxxx,XW=>X closure2 of xxxxxx,XWX2,FALSE,xxxxxx,,eval,FALSE,FALSE,FALSE,FALSE,FALSE,",",0,0,objective,NA,NA,0,0,0,0,,FALSE
 dyadBipartiteObjective,xxxxxx,Sum of ties x xxxxxx,X,TRUE,xxxxxx,,eval,FALSE,FALSE,FALSE,FALSE,FALSE,",",0,0,objective,NA,NA,0,0,0,0,dyadic,FALSE
-covarBehaviorObjective,behavior xxxxxx: effect from yyyyyy,beh. xxxxxx x yyyyyy,effFrom,TRUE,yyyyyy,,eval,FALSE,FALSE,FALSE,FALSE,FALSE,",",0,0,objective,NA,NA,0,0,0,0,OK,FALSE
-covarBehaviorNetObjective,behavior xxxxxx: tot. sim. (zzzzzz) x alter's yyyyyy,beh. xxxxxx tot. sim. (zzzzzz) x alter's yyyyyy,totSimAltX,TRUE,yyyyyy,zzzzzz,eval,FALSE,FALSE,FALSE,FALSE,FALSE,",",0,0,objective,NA,NA,0,0,0,0,OK,FALSE
-covarBehaviorNetObjective,behavior xxxxxx: av. sim. (zzzzzz) x alter's yyyyyy,beh. xxxxxx av. sim. (zzzzzz) x alter's yyyyyy,avSimAltX,TRUE,yyyyyy,zzzzzz,eval,FALSE,FALSE,FALSE,FALSE,FALSE,",",0,0,objective,NA,NA,0,0,0,0,OK,FALSE
-covarBehaviorNetObjective,behavior xxxxxx: av. alters (zzzzzz) x alter's yyyyyy,beh. xxxxxx av. alters (zzzzzz) x alter's yyyyyy,avAltAltX,TRUE,yyyyyy,zzzzzz,eval,FALSE,FALSE,FALSE,FALSE,FALSE,",",0,0,objective,NA,NA,0,0,0,0,OK,FALSE
-covarBehaviorNetObjective,behavior xxxxxx: alter's (zzzzzz) yyyyyy average,beh. xxxxxx alter's (zzzzzz) yyyyyy average,avXAlt,TRUE,yyyyyy,zzzzzz,eval,FALSE,FALSE,FALSE,FALSE,FALSE,",",0,0,objective,NA,NA,0,0,0,0,OK,FALSE
-covarBehaviorNetObjective,behavior xxxxxx: alter's (zzzzzz) yyyyyy total,beh. xxxxxx alter's (zzzzzz) yyyyyy total,totXAlt,TRUE,yyyyyy,zzzzzz,eval,FALSE,FALSE,FALSE,FALSE,FALSE,",",0,0,objective,NA,NA,0,0,0,0,OK,FALSE
-covarBehaviorNetObjective,behavior xxxxxx: in-alter's (zzzzzz) yyyyyy aver.,beh. xxxxxx in-alter's (zzzzzz) yyyyyy aver.,avXInAlt,TRUE,yyyyyy,zzzzzz,eval,FALSE,FALSE,FALSE,FALSE,FALSE,",",0,0,objective,NA,NA,0,0,0,0,OK,FALSE
-covarBehaviorNetObjective,behavior xxxxxx: in-alter's (zzzzzz) yyyyyy total,beh. xxxxxx in-alter's (zzzzzz) yyyyyy total,totXInAlt,TRUE,yyyyyy,zzzzzz,eval,FALSE,FALSE,FALSE,FALSE,FALSE,",",0,0,objective,NA,NA,0,0,0,0,OK,FALSE
-covarBehaviorNetObjective,behavior xxxxxx: dist. 2 alter's (zzzzzz) yyyyyy av.,beh. xxxxxx dist. 2 alter's (zzzzzz) yyyyyy av.,avXAltDist2,FALSE,yyyyyy,zzzzzz,eval,FALSE,FALSE,FALSE,FALSE,FALSE,",",0,0,objective,NA,NA,0,0,0,0,OK,FALSE
-covarBehaviorNetObjective,behavior xxxxxx: dist. 2 alter's (zzzzzz) yyyyyy tot.,beh. xxxxxx dist. 2 alter's (zzzzzz) yyyyyy tot.,totXAltDist2,FALSE,yyyyyy,zzzzzz,eval,FALSE,FALSE,FALSE,FALSE,FALSE,",",0,0,objective,NA,NA,0,0,0,0,OK,FALSE
-covarBehaviorNetObjective,behavior xxxxxx: dist. 2 av. alter's (zzzzzz) yyyyyy tot.,beh. xxxxxx av. dist. 2 alter's (zzzzzz) yyyyyy tot.,avTXAltDist2,FALSE,yyyyyy,zzzzzz,eval,FALSE,FALSE,FALSE,FALSE,FALSE,",",0,0,objective,NA,NA,0,0,0,0,OK,FALSE
-covarBehaviorNetObjective,behavior xxxxxx: dist. 2 tot. alter's (zzzzzz) yyyyyy av.,beh. xxxxxx tot. dist. 2 alter's (zzzzzz) yyyyyy av.,totAXAltDist2,FALSE,yyyyyy,zzzzzz,eval,FALSE,FALSE,FALSE,FALSE,FALSE,",",0,0,objective,NA,NA,0,0,0,0,OK,FALSE
-covarBehaviorNetObjective,behavior xxxxxx: alts (zzzzzz) dist-2 incom. yyyyyy av.,behavior xxxxxx: incom.av. yyyyyy (zzzzzz)alt. dist. 2,avXInAltDist2,FALSE,yyyyyy,zzzzzz,eval,FALSE,FALSE,FALSE,FALSE,FALSE,",",0,0,objective,NA,NA,0,0,0,0,OK,FALSE
[TRUNCATED]

To get the complete diff run:
    svnlook diff /svnroot/rsiena -r 285


More information about the Rsiena-commits mailing list