Код без функции-переноса делает то, что требуется, но возвращает NULL, когда я обертываю функцию вокруг него
Следуя совету, что любой дважды скопированный код должен быть превращен в функцию, я попытался сделать функцию из фрагментов, которые я часто генерирую в своей программе.
Но когда я иду, чтобы поместить его в функцию, возвращается NULL
# This works
for.gas <- tibble(Year = (start-1):(start+h-1))
for(i in countries){
test.df <- tibble(Year = (start-1):(start+h-1),
n = NA
)
colnames(test.df) <- c("Year", paste(i))
for.gas <- left_join(for.gas, test.df)
}
# This doesn't
create.df <- function(df_name){
df_name <- tibble(Year = (start-1):(start+h-1))
for(i in countries){
test.df <- tibble(Year = (start-1):(start+h-1),
n = NA
)
colnames(test.df) <- c("Year", paste(i))
df_name <- left_join(df_name, test.df)
}
}
# Expected results
# A tibble: 31 x 5
Year Argentina Belgium Brazil Canada
<int> <lgl> <lgl> <lgl> <lgl>
1 2017 NA NA NA NA
2 2018 NA NA NA NA
3 2019 NA NA NA NA
4 2020 NA NA NA NA
5 2021 NA NA NA NA
6 2022 NA NA NA NA
7 2023 NA NA NA NA
8 2024 NA NA NA NA
9 2025 NA NA NA NA
10 2026 NA NA NA NA
# ... with 21 more rows
Вся помощь приветствуется. Спасибо.