Nothing
## ----setup--------------------------------------------------------------------
library(autodb)
## ----plotting-----------------------------------------------------------------
if (requireNamespace("DiagrammeR", quietly = TRUE)) {
show <- function(x, ...) DiagrammeR::grViz(gv(x, ...), width = "100%")
}else{
show <- function(x, ...) cat(d2(x), sep = "\n")
}
## ----data_example, echo=FALSE-------------------------------------------------
js <-
'[
{
"a": 1,
"b": [1],
"c": [1, 2],
"d": [
[1, 2],
[3, 4]
],
"e": [1, 2],
"f": [
[1, 2],
[3, 4]
],
"g": [1, 2],
"h": [[1], [1]],
"i": {
"i.1": 1,
"i.2": "a"
},
"k": [
[1, 4],
[2, 5],
[3, 6]
],
"l": [
[1, 4],
[2, 5],
[3, 6]
],
"m": [
{
"m.1": 1,
"m.2": 4
},
{
"m.1": 2,
"m.2": 5
},
{
"m.1": 3,
"m.2": 6
}
],
"n": [
{
"n.1": 1,
"n.2": 4
},
{
"n.1": 2,
"n.2": 5
},
{
"n.1": 3,
"n.2": 6
}
]
},
{
"a": 2,
"b": [2, 3],
"c": [3, 4],
"d": [
[5, 6],
[7, 8]
],
"e": [1, 2],
"f": [
[5, 6],
[7, 8]
],
"g": [2, 1],
"h": [[2], [2]],
"i": {
"i.1": 2,
"i.2": "b"
},
"k": [
[1, 4],
[2, 5],
[3, 6]
],
"l": [
[1, 4],
[2, 5],
[3, 6]
],
"m": [
{
"m.1": 1,
"m.2": 4
},
{
"m.1": 2,
"m.2": 5
},
{
"m.1": 3,
"m.2": 6
}
],
"n": [
{
"n.1": 1,
"n.2": 4
},
{
"n.1": 2,
"n.2": 5
},
{
"n.1": 3,
"n.2": 6
}
]
},
{
"a": 3,
"b": [4, 5, 6],
"c": [5, 6],
"d": [
[9, 10],
[11, 12]
],
"e": ["a", "b"],
"f": [
[9, 10],
[11, 12]
],
"g": [1, 2],
"h": [[1], [1]],
"i": {
"i.1": 3,
"i.2": "c"
},
"k": [
[1, 4],
[2, 5],
[3, 6]
],
"l": [
[1, 4],
[2, 5],
[3, 6]
],
"m": [
{
"m.1": 1,
"m.2": 4
},
{
"m.1": 2,
"m.2": 5
},
{
"m.1": 3,
"m.2": 6
}
],
"n": [
{
"n.1": 1,
"n.2": 4
},
{
"n.1": 2,
"n.2": 5
},
{
"n.1": 3,
"n.2": 6
}
]
},
{
"a": 4,
"b": [1],
"c": [3, 4],
"d": [
[9, 10],
[11, 12]
],
"e": [
["a"],
["b", "c"]
],
"f": [
[9, 10]
],
"g": [2, 1],
"h": [[3], [3]],
"i": {
"i.1": 4,
"i.2": "d"
},
"k": [
[1, 6],
[2, 7],
[3, 8],
[4, 9],
[5, 10]
],
"l": [
[7, 10],
[8, 11],
[9, 12]
],
"m": [
{
"m.1": 1,
"m.2": 6
},
{
"m.1": 2,
"m.2": 7
},
{
"m.1": 3,
"m.2": 8
},
{
"m.1": 4,
"m.2": 9
},
{
"m.1": 5,
"m.2": 10
}
],
"n": [
{
"n.1": 7,
"n.2": 10
},
{
"n.1": 8,
"n.2": 11
},
{
"n.1": 9,
"n.2": 12
}
]
},
{
"a": 5,
"b": [2, 3],
"c": [3, 4],
"d": [
[9, 10],
[11, 12]
],
"e": [
["a"],
["b", "c"]
],
"f": [
[9, 10]
],
"g": [1, 2],
"h": [[2], [2]],
"i": {
"i.1": 5,
"i.2": "e"
},
"k": [
[1, 6],
[2, 7],
[3, 8],
[4, 9],
[5, 10]
],
"l": [
[7, 10],
[8, 11],
[9, 12]
],
"m": [
{
"m.1": 1,
"m.2": 6
},
{
"m.1": 2,
"m.2": 7
},
{
"m.1": 3,
"m.2": 8
},
{
"m.1": 4,
"m.2": 9
},
{
"m.1": 5,
"m.2": 10
}
],
"n": [
{
"n.1": 7,
"n.2": 10
},
{
"n.1": 8,
"n.2": 11
},
{
"n.1": 9,
"n.2": 12
}
]
}
]'
## -----------------------------------------------------------------------------
x <- jsonlite::fromJSON(js)
x
print(tibble::as_tibble(x), width = Inf)
## ----df-----------------------------------------------------------------------
show(x)
## ----df2----------------------------------------------------------------------
show(x, nest_level = 0)
## ----db-----------------------------------------------------------------------
db <- autodb(x)
show(db)
## ----rejoin-------------------------------------------------------------------
y <- rejoin(db)
df_equiv(y, x)
y
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.