
Combine Named Vectors into Data Frame by Matching Names
Source:R/general_helpers.R
match_named_vectors.RdCreates a data frame by matching names across multiple vectors. Unnamed elements (NA names) are preserved as separate rows for each vector.
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