Один из вариантов - сделать merge
между вложенными фреймами данных list
и соответствующими list
, созданными в том же порядке, что и имена (названия месяцев первых list
). Map
выполняет цикл по соответствующим list
элементам
Map(function(x, y)
# x is the first list which is a nested one
# so loop through it
lapply(x, function(dat) {
# create a Pupil column from the row names
dat$Pupil <- row.names(dat)
# merge with the corresponding 'detentions' dataset
merge(dat, y)
}),
# first list, created list
lst1, list(Feb_detentions, Mar_detentions))
С помощью tidyverse
это можно сделать с помощью map2
library(tidyverse)
map2(lst1, list(Feb_detentions, Mar_detentions),
~ {
ydat <- .y
map(.x, ~ .x %>%
rownames_to_column("Pupil") %>%
inner_join(ydat))
})
Если нам нужно обновить только второе вложенное list
из 'lst1', просто извлеките этот элемент list
и выполните merge
Map(function(x, y) x[[2]] <- {
x[[2]]$Pupil <- row.names(x[[2]])
merge(x[[2]], y)
x
}, lst1, list(Feb_detentions, Mar_detentions))
Heroku поддерживает установку гемов с помощью создание файла .gems
в корневом каталоге вашего проекта и добавление его в Git. При следующем нажатии необходимые драгоценные камни будут установлены. Для установки Haml файл должен содержать следующую строку:
haml --version '>= 2.2.0'
Дополнительную информацию можно найти здесь: http://docs.heroku.com/gems
Две самых очевидных возможности (в порядке вероятности):