Я использую самоопределенный function
и хочу извлечь некоторые значения из функции в предопределенный dataframe
. Эта функция будет применена к списку. Каждый элемент списка должен составлять одну строку из предопределенного dataframe
. Пожалуйста, смотрите код ниже.
Я заранее определил dataframe
с четырьмя переменными перед function
df <- data.frame(Year = as.integer(),
Total_sites = as.integer(),
Sites_25 = as.integer(),
Missing_hours = as.double())
Ниже приведена часть функции.
fun <- function(a_csv, the_dir) {
hcount <- dfAOT40 %>% group_by(IDS) %>%
summarise(count = n())
hcount_less <- hcount %>% filter(count < 897)
year <- substring(dfoz$'Date Local'[1], 1, 4) # first variable in the dataframe
total_sites <- length(unique(hcount$IDS)) # second variable variable in the dataframe
sites_25 <- length(unique(hcount_less$IDS)) # third variable in the dataframe
missing <- sum(hcount$count) / (total_sites * 1196) # fourth variable in the dataframe
df <- data.frame(Year = as.integer(),
Total_sites = as.integer(),
Sites_25 = as.integer(),
Missing_hours = as.double())
df[1,] <- c(year, total_sites, sites_25, missing) # each element should make one row of the dataframe.
return(df)
}
Проблема была решена с помощью кода ниже.
df <- do.call(rbind, lapply(files, FUN = fun, the_dir))