Skip to contents

Creates a data frame by matching names across multiple vectors. Unnamed elements (NA names) are preserved as separate rows for each vector.

Usage

match_named_vectors(...)

Arguments

...

Named vectors, or a single list of named vectors

Value

Data frame with matched names as rows and vectors as columns

Details

Named elements are matched by name across all vectors. Unnamed elements (with NA names) are added as separate rows, identified by vector source. Column names are taken from argument names or generated as V1, V2, etc.

Examples

v1 <- c(a = 1, b = 2, 3)        # 3 has no name
v2 <- c(a = 10, c = 30, 40)     # 40 has no name
v3 <- c(b = 200, d = 400, 500)  # 500 has no name
match_named_vectors(v1, v2, v3)
#>   V1 V2  V3
#> a  1 10  NA
#> b  2 NA 200
#>    3 40 500
#> c NA 30  NA
#> d NA NA 400

# With custom names
match_named_vectors(first = v1, second = v2, third = v3)
#>   first second third
#> a     1     10    NA
#> b     2     NA   200
#>       3     40   500
#> c    NA     30    NA
#> d    NA     NA   400

# With a list
match_named_vectors(list(v1 = v1, v2 = v2, v3 = v3))
#>   v1 v2  v3
#> a  1 10  NA
#> b  2 NA 200
#>    3 40 500
#> c NA 30  NA
#> d NA NA 400