list.update()
partially modifies the given list by a number of lists resulted from expressions.
First, we load the data without any modification.
library(rlist)
library(pipeR)
people <- list.load("https://renkun-ken.github.io/rlist-tutorial/data/sample.json")
people %>>%
list.select(Name, Age) %>>%
list.stack
# Name Age
# 1 Ken 24
# 2 James 25
# 3 Penny 24
list.stack()
converts a list to a data frame with equivalent structure. We will introduce this function later.
Suppose we find that the age of each people is mistakenly recorded, say, 1 year less than their actual ages, respectively, we need to update the original data by refresh the age of each element.
people %>>%
list.update(Age = Age + 1) %>>%
list.select(Name, Age) %>>%
list.stack
# Name Age
# 1 Ken 25
# 2 James 26
# 3 Penny 25
list.update()
can also be used to exclude certain fields of the elements. Once we update the fields we want to exclude to NULL
, those fields are removed.
people %>>%
list.update(Interests = NULL, Expertise = NULL, N = length(Expertise)) %>>%
list.stack
# Name Age N
# 1 Ken 24 3
# 2 James 25 3
# 3 Penny 24 3