Added license information to R source files.
[openmx:openmx.git] / R / MxData.R
1 #
2 #   Copyright 2007-2009 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
17 setClassUnion("MxData", c("data.frame", "matrix"))
18
19 omxRemoveDataAliases <- function(datalist) {
20         predicate <- sapply(datalist, function(x) {
21                 is(x, "MxData") 
22         })
23         if (length(predicate) > 0) {
24                 return(datalist[predicate])
25         } else {
26                 return(list())
27         }
28 }
29
30 omxDataIndex <- function(name, datalist) {
31         if (is.character(datalist[[name]])) {
32                 index <- datalist[[name]]       
33         } else {
34                 index <- name
35         }
36         noAlias <- omxRemoveDataAliases(datalist)
37         return(match(index, names(noAlias)) - 1)
38 }