Ordinary base lists and vectors do not retain their attributes when subsetted or appended. This function appends items to a list while preserving the attributes of items in the list (but not of the list itself).

append_attr(x, y)

# S4 method for list,list
append_attr(x, y)

Arguments

x, y

A list of items with optional attributes.

Value

An updated list with attributes.

Details

Similar to updateList but does not require named lists.

Author

Alex Chubaty and Eliot McIntire

Examples

tmp1 <- list("apple", "banana")
tmp1 <- lapply(tmp1, `attributes<-`, list(type = "fruit"))
tmp2 <- list("carrot")
tmp2 <- lapply(tmp2, `attributes<-`, list(type = "vegetable"))
append_attr(tmp1, tmp2)
#> [[1]]
#> [1] "apple"
#> attr(,"type")
#> [1] "fruit"
#> 
#> [[2]]
#> [1] "banana"
#> attr(,"type")
#> [1] "fruit"
#> 
#> [[3]]
#> [1] "carrot"
#> attr(,"type")
#> [1] "vegetable"
#> 
rm(tmp1, tmp2)