| author | Tomas Zeman <tzeman@volny.cz> |
| Thu, 14 Mar 2019 15:06:13 +0100 | |
| changeset 2 | 7461111ce9ed |
| child 5 | 44aad285dc66 |
| permissions | -rw-r--r-- |
|
2
7461111ce9ed
Spss variable, value and reader wrapper.
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
1 |
package net.tz.spss |
|
7461111ce9ed
Spss variable, value and reader wrapper.
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
2 |
|
|
7461111ce9ed
Spss variable, value and reader wrapper.
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
3 |
import net.tz.spss.SpssVariable.DoubleRange |
|
7461111ce9ed
Spss variable, value and reader wrapper.
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
4 |
import com.bedatadriven.spss.{SpssVariable => JVar}
|
|
7461111ce9ed
Spss variable, value and reader wrapper.
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
5 |
|
|
7461111ce9ed
Spss variable, value and reader wrapper.
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
6 |
import scala.collection.JavaConverters._ |
|
7461111ce9ed
Spss variable, value and reader wrapper.
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
7 |
import scala.language.postfixOps |
|
7461111ce9ed
Spss variable, value and reader wrapper.
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
8 |
|
|
7461111ce9ed
Spss variable, value and reader wrapper.
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
9 |
case class SpssVariable(name: String, shortName: String, isNumeric: Boolean, |
|
7461111ce9ed
Spss variable, value and reader wrapper.
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
10 |
index: Int, label: String, |
|
7461111ce9ed
Spss variable, value and reader wrapper.
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
11 |
missingRange: Option[DoubleRange] = None, |
|
7461111ce9ed
Spss variable, value and reader wrapper.
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
12 |
missing: List[Double] = Nil, |
|
7461111ce9ed
Spss variable, value and reader wrapper.
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
13 |
missingStrings: List[String] = Nil, |
|
7461111ce9ed
Spss variable, value and reader wrapper.
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
14 |
labels: Map[Double, String] = Map()) |
|
7461111ce9ed
Spss variable, value and reader wrapper.
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
15 |
|
|
7461111ce9ed
Spss variable, value and reader wrapper.
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
16 |
object SpssVariable {
|
|
7461111ce9ed
Spss variable, value and reader wrapper.
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
17 |
type DoubleRange = (Double, Double) |
|
7461111ce9ed
Spss variable, value and reader wrapper.
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
18 |
|
|
7461111ce9ed
Spss variable, value and reader wrapper.
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
19 |
def apply(v: JVar): SpssVariable = SpssVariable( |
|
7461111ce9ed
Spss variable, value and reader wrapper.
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
20 |
name = v.getVariableName, |
|
7461111ce9ed
Spss variable, value and reader wrapper.
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
21 |
shortName = v.getShortName, |
|
7461111ce9ed
Spss variable, value and reader wrapper.
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
22 |
isNumeric = v.isNumeric, |
|
7461111ce9ed
Spss variable, value and reader wrapper.
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
23 |
index = v.getIndex, |
|
7461111ce9ed
Spss variable, value and reader wrapper.
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
24 |
label = v.getVariableLabel, |
|
7461111ce9ed
Spss variable, value and reader wrapper.
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
25 |
missingRange = if (v.isHasMissingRange) |
|
7461111ce9ed
Spss variable, value and reader wrapper.
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
26 |
Some((v.getMissingMin.doubleValue(), v.getMissingMax.doubleValue())) |
|
7461111ce9ed
Spss variable, value and reader wrapper.
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
27 |
else None, |
|
7461111ce9ed
Spss variable, value and reader wrapper.
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
28 |
missing = v.getMissing.asScala.map(_.doubleValue()).toList, |
|
7461111ce9ed
Spss variable, value and reader wrapper.
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
29 |
missingStrings = v.getMissingStrings.asScala.toList, |
|
7461111ce9ed
Spss variable, value and reader wrapper.
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
30 |
labels = v.getValueLabels.asScala.map { case (k,x) =>
|
|
7461111ce9ed
Spss variable, value and reader wrapper.
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
31 |
(k.doubleValue(), x) } toMap) |
|
7461111ce9ed
Spss variable, value and reader wrapper.
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
32 |
} |