Я написал функцию, которая перебирает строковые фреймы данных. Он принимает первое строковое значение df, выполняет вычисления и переходит к другой строке.
Аргументы функции уже на моем рабочем месте. При запуске отдельной строки функции она работает отлично. При попытке вызвать его, указав аргументы, я получаю сообщение об ошибке
value for ‘dtraw.id’ not found
Вот функция
test <- function(ids,dfs,columns){
#dfs <- ls()[sapply(mget(ls(), .GlobalEnv), is.data.frame)]
main_table<-merge(ids,mget(dfs[1])[[dfs[1]]],by='id',all.x=T)
coln<-colnames(main_table) %in% columns
main_table<-main_table[,coln]
main_table[,dfs[1]]=rowSums(main_table[sapply(main_table,is.numeric)],na.rm = T)
for(j in 2:length(dfs)){
result<-as.data.frame(mget(dfs[j])[[dfs[j]]])
coln<-colnames(result) %in% columns
result<-result[,coln]
result[,dfs[j]]<-rowSums(result[sapply( result,is.numeric)],na.rm = T)
main_table<-merge(main_table,result[,c('id',dfs[j])],by='id',all.x=T)
}
saveRDS(main_table,'aggregates.rds')
#return(main_table)
}
при вызове test (идентификаторы, dfs, столбцы) я получаю сообщение об ошибке.
Любая помощь, в чем может быть причина?