Добавить данные в список на основе фрейма данных R - PullRequest
2 голосов
/ 19 февраля 2020

У меня есть следующий список и фрейм данных:

my_list <- list(names = c("JEFF","PETE","JOE"),
                data = c(1,2,3),
                ascor = c("ANCHOR","BOAT"))
my_df <- data.frame(names = c("JEFF","PETE","JOE"),
                    debt = c(10,12,14))

Я хотел бы добавить новый элемент в список под названием «задолженность» на основе фрейма данных my_df. Новый список должен быть (извините, если я не знаю, как express список, подобный кадру данных, который показан в виде таблицы):

my_list <- list(names = c("JEFF","PETE","JOE"),
                data = c(1,2,3), 
                debt = c(10,12,14), 
                ascor = c("ANCHOR","BOAT"))

Я наивно пытался этот код:

my_list %>% left_join(my_df, by = "names" )

Но там написано, что не применимо левое соединение со списком объектов. Любая помощь будет принята с благодарностью.

1 Ответ

2 голосов
/ 19 февраля 2020

Если нам нужно match и создать запись

my_list[["debt"]] <- my_df$debt[match(my_list$name, my_df$names)]

Или с помощью modifyList

modifyList(my_list, list(debt = my_df$debt[match(my_list$name, my_df$names)]))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...