R Functions and User Interface

Posted on
Picture of user. mspiegel Joined: 07/31/2009

empty model name

We spoke at the developer's meeting about reserved symbols for labels. The symbols that cannot be used are "." which is special as a separator between the model name and label name. Also the '[' and ']' are special and they are used for substitutions. Also it turns out that if you give a model an empty name "", things currently break. I'll probably throw an error if you try to name anything with the empty name.

Posted on
Picture of user. neale Joined: 07/31/2009

Superior syntax for the R interface?

Hi folks, I am just pasting in here some email discussion between Greg Carey and myself concerning the language interface. In the thread we drifted off to talk about models of assortative mating.

Greg Carey's email:

mike,
just looked at openMx and am worried that things might get unnecessarily complicated when dealing with large multivariate problems.

Posted on
No user picture. pjohnson Joined: 09/19/2009

More followup about "experienced R user" reaction

I was bugging you about R usage last month.  I think some elements in your design are going to confuse experienced R users and from your Wiki I gather they befuddle the new users as well. Some things you can addressed by making your "tutorial go slower". But you could tighten up usage instead, and avoid the confustion in the start.

Posted on
Picture of user. tbates Joined: 07/31/2009

mxModel error checking

hi,
Any chance that this could return an error: I think it will be a common mistake
(the error is entering the same submodel twice instead of two distinct models (in this case modelDZ and modelMZ).

the name clash maybe should throw an error

Posted on
Picture of user. mspiegel Joined: 07/31/2009

added 'dimnames' argument to ML and FIML objective functions

We added an optional 'dimnames' argument to the functions mxFIMLObjective() and mxMLObjective(). The argument expects a vector of character, such as c('foo', 'bar', 'baz'). The objective function uses this vector to populate the column names of the means vector, and the row and column names of the covariance matrix. With the 'dimnames' argument it is no longer necessary to explicitly specify the dimnames of the means and covariances, although it is still possible.

Posted on
Picture of user. mspiegel Joined: 07/31/2009

see the parenthesis of R expressions

The following function will let you see the order of operations applied to R expressions.

addParens <- function(expression) {
   input <- match.call()$expression
   return(addParensHelper(input))
}

addParensHelper <- function(expression) {
   if (length(expression) == 1) {
      return(expression)
   } else if (expression[[1]] == '(') {
      return(expression)
   } else {
      for(i in 2:length(expression)) {
         expression[[i]] <- addParensHelper(expression[[i]])
      }
      return(substitute((x), list(x = expression)))
   }
}

Posted on
Picture of user. tbates Joined: 07/31/2009

extracting standard errors (se) from $output

Hi there,
I can't see the SEs in $output... I guess that means they are computed by summary()?
But I also don't see how to extract them programatically from the output of summary(fit)

none of these work:
x = summary(fit)
x$SE; x$standard_error; x$error_estimate

any clues?

Posted on
Picture of user. pdeboeck Joined: 08/04/2009

Reading Data

A forum regarding reading in data

Posted on
No user picture. Hermine Joined: 07/31/2009

Error in fitting submodels

I thought that only matrices with changes (dropping/constraining parameters) have to be specified in a submodel [see line 62+ of attached script] , when the full model name is the first argument of the new mxModel command but somehow it doesn't seem to find the MZ.objective anymore. Is this a new bug? I thought this was working before.

Posted on
No user picture. pjohnson Joined: 09/19/2009

You could adhere to R conventions more closely

Hi, I'm new here. I'm a political scientist/programmer. I was drawn in by conversation about SEM among my psych colleagues at the University of Kansas. Now that you have the gcc-4.3 version of lpsolve.la in your package, I can build OpenMx without any trouble on Ubuntu 9.04 with R 2.9.2

I've been reading through your OpenMxUserGuide and testing the examples and I'm having some reluctance about the style of your R interface/code. I'm pretty sure that R users who come to try OpenMx will have difficulty digesting the way you have designed your interface.