Opal 2.8
R tidyverse, view join tables
Objectives
- Improve integration with R
- Support SAS, SPSS, Stata formats
- Improve view entities management
- Improve repeatable variables management
New features
R files
R multilines
Repeatable variables are now expressed as multiple lines in a R data frame (see Opal 2.7 presentation)
| ID | A | B |
|---|---|---|
| 1 | a | 1 |
| 1 | b | 2 |
| 2 | a | 3 |
| 2 | c | 1 |
| ID | A | B |
|---|---|---|
| 1 | a b |
1 2 |
| 2 | a c |
3 1 |
<=>
Opal
R
R tibble
A tibble is a modern data.frame that contains the data dictionary
- Opal tables can be pushed to R as a tibble
- A tibble can be imported as a Opal table
R tibble/data.frame
The date and datetime types in Opal are now mapped to their corresponding class in R
| Opal type | R class |
|---|---|
| date | Date |
| datetime | POSIXct |
R haven
View full join
A view joins several tables to combine their entities (=rows) and their variables (=columns)
T2
T1
Entities
Variables
T2
T1
View inner join
A view inner join combines only the variables of the table
T2 (inner)
T1
Entities
Variables
T2 (inner)
T1
View inner join
Use case: a large table to contribute only its variables
| ID | A | B |
|---|---|---|
| 1 | b | 1 |
| 2 | c | 3 |
| ID | C | D |
|---|---|---|
| 1 | x | 2 |
| 2 | y | 4 |
| 3 | z | 6 |
| ... | ... | ... |
| ID | A | B | C | D |
|---|---|---|---|---|
| 1 | b | 1 | x | 2 |
| 2 | c | 3 | y | 4 |
+
=>
T2 (inner)
T1
View
View inner join
Use case: a table for providing the entities (rows) and inner tables for providing variables (columns)
| ID |
|---|
| 1 |
| 2 |
| ID | A |
|---|---|
| 1 | x |
| 2 | y |
| 3 | z |
| 4 |
| ID | A | B |
|---|---|---|
| 1 | x | 2 |
| 2 | y |
+
=>
T2 (inner)
| ID | B |
|---|---|
| 1 | 2 |
+
T3 (inner)
T1
View
View tables order
Table order affects the value sequences order
| ID | A |
|---|---|
| 1 | a |
| 2 | b |
| ID | A |
|---|---|
| 1 | x |
| 2 | y |
| ID | A |
|---|---|
| 1 | a,x |
| 2 | b,y |
+
=>
T2
T1
View
| ID | A |
|---|---|
| 1 | x |
| 2 | y |
| ID | A |
|---|---|
| 1 | a |
| 2 | b |
| ID | A |
|---|---|
| 1 | x,a |
| 2 | y,b |
+
=>
T1
T2
View
View tables order
Value access by position or by full table name
- A1: $('A').valueAt(1)
- A2: $('D.T2:A')
are equivalent
| ID | A |
|---|---|
| 1 | x |
| 2 | y |
| ID | A |
|---|---|
| 1 | a |
| 2 | b |
| ID | A1 | A2 |
|---|---|---|
| 1 | x | x |
| 2 | y | y |
+
=>
T1
T2
View
Repeatable derivation
Derivation wizard for transposing a repeatable variable per value occurrence
| ID | A_1 | A_2 |
|---|---|---|
| 1 | a | b |
| 2 | c | d |
| ID | A |
|---|---|
| 1 | a b |
| 2 | c d |
=>
derived to
Releases
- opal 2.8
- opal-rserver 1.3 (intalls tidyverse)
- opal R 2.5