Как я могу сделать al oop, который вызывает фреймы данных - PullRequest
0 голосов
/ 08 июля 2020

Я написал приведенный ниже код для преобразования строк фрейма данных в столбцы

RowsToColums <- function(df)
{
  model = list()
  
  for(i in seq_along(df))
  {
    if(i>4)
    {
      dataf <- data.frame(names = df[1], Year=colnames(df[i]),  index = df[,i:i])
      names(dataf)[3]<- toString(df[[3]][2])
      names(dataf)[1]<- "Country"
      model[[i]] <- dataf
    }
    
  }
  df <- do.call(rbind, model)
  df <- arrange(df, Country)
}


EC_Pop            <- RowsToColums(EC_Pop)
EC_GDP            <- RowsToColums(EC_GDP)
EC_Inflation      <- RowsToColums(EC_Inflation)
ST_Tech_Exp       <- RowsToColums(ST_Tech_Exp)
ST_Res_Jour       <- RowsToColums(ST_Res_Jour)
ST_Res_Exp        <- RowsToColums(ST_Res_Exp)
ST_Res_Pop        <- RowsToColums(ST_Res_Pop)
ED_Unempl         <- RowsToColums(ED_Unempl)
ED_Edu_Exp        <- RowsToColums(ED_Edu_Exp) 

Но, как видите, я много раз вызываю одну и ту же функцию.

I попытался переместить все эти фреймы данных в вектор, подобный этому

list_a = list(EC_Pop,EC_GDP,EC_Inflation,ST_Tech_Exp,ST_Res_Exp)
for (i in seq_along(list_a))
{
  list_a[i] <- RowsToColums(list_a[i]) 
}  

написать al oop, который каждый раз принимает фрейм данных, но он терпит неудачу с ошибкой

UseMethod ("arrange_") error:
   Inapplicable method for 'arrange_' applied to object of class "NULL"

Кто-нибудь знает, как исправить этот случай?

...