unjoin: unjoin

Description Usage Arguments Details See Also Examples

Description

Split a table in two and remove repeated values.

Usage

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
unjoin(data, ..., key_col = "idx0")

## S3 method for class 'data.frame'
unjoin(data, ..., key_col = ".idx0")

## S3 method for class 'unjoin'
unjoin(data, ..., key_col = ".idx0")

unjoin_(data, unjoin_cols = character(), key_col = ".idx0")

## S3 method for class 'data.frame'
unjoin_(data, unjoin_cols = character(),
  key_col = ".idx0")

## S3 method for class 'unjoin'
unjoin_(data, unjoin_cols = character(), key_col = ".idx0")

Arguments

data

A data frame.

...

Specification of columns to unjoin by. For full details, see the 'dplyr::select“ documentation.

key_col

The name of the new column to key the two output data frames.

unjoin_cols

character list of unjoin column names for 'unjoin_' backwards compatibility

Details

The data frame on input is treated as "data", the new data frame is treated as the normalized key. This means that the split-off and de-duplicated table has the name given via the 'key_col' argument (defaults to ".idx0") and shares this name with the common key.

It's not yet clear if this flexibility around naming is a good idea, but it enables a simple scheme for chaining unjoins, though you'd better not use the same 'key_col' again.

This is a subset of the tasks done by nest.

See Also

'dplyr::inner_join' for the inverse operation.

'tidyr::nest' for the complementary operation resulting in one nested data frame

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
library(dplyr)
data("Seatbelts", package= "datasets")
x <- unjoin(as.data.frame(Seatbelts), front, law)
y <- inner_join(x$.idx0, x$data) %>% select(-.idx0)
all.equal(y[colnames(Seatbelts)], as.data.frame(Seatbelts))

iris %>% unjoin(-Species)
chickwts %>% unjoin(weight)

if (require("gapminder")) {
  gapminder %>%
    group_by(country, continent) %>%
    unjoin()

  gapminder %>%
    unjoin(-country, -continent)
  unjoin(gapminder)
}
unjoin(iris, Petal.Width) %>% unjoin(Species, key_col = ".idx1")

unjoin documentation built on May 2, 2019, 7:08 a.m.