Merging the FitExpectation branch into the trunk.
[openmx:openmx.git] / R / MxRowObjective.R
1 #
2 #   Copyright 2007-2012 The OpenMx Project
3 #
4 #   Licensed under the Apache License, Version 2.0 (the "License");
5 #   you may not use this file except in compliance with the License.
6 #   You may obtain a copy of the License at
7
8 #        http://www.apache.org/licenses/LICENSE-2.0
9
10 #   Unless required by applicable law or agreed to in writing, software
11 #   distributed under the License is distributed on an "AS IS" BASIS,
12 #   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 #   See the License for the specific language governing permissions and
14 #   limitations under the License.
15
16 mxRowObjective <- function(rowAlgebra, reduceAlgebra, dimnames, rowResults = "rowResults", 
17         filteredDataRow = "filteredDataRow", existenceVector = "existenceVector") {
18         if (missing(rowAlgebra) || typeof(rowAlgebra) != "character") {
19                 stop("the 'rowAlgebra' argument is not a string (the name of the row-by-row algebra)")
20         }
21         if (missing(reduceAlgebra) || typeof(reduceAlgebra) != "character") {
22                 stop("the 'reduceAlgebra' argument is not a string (the name of the reduction algebra)")
23         }
24         if (missing(dimnames) || typeof(dimnames) != "character") {
25                 stop("the 'dimnames' argument is not a string (the column names from the data set)")
26         }
27         if (any(is.na(dimnames))) {
28                 stop("NA values are not allowed for 'dimnames' vector")
29         }
30         rowResults <- checkStringArgument(rowResults, "rowResults")
31         filteredDataRow <- checkStringArgument(filteredDataRow, "filteredDataRow")
32         existenceVector <- checkStringArgument(existenceVector, "existenceVector")
33         expectation <- NULL     
34         fitfunction <- mxFitFunctionRow(rowAlgebra, reduceAlgebra, dimnames, 
35                 rowResults, filteredDataRow, existenceVector)
36         msg <- paste("Objective functions have been deprecated.",
37                 "Please use mxFitFunctionRow() instead.")
38         warning(msg)
39         return(list(expectation, fitfunction))
40 }
41
42