У меня есть ряд фреймов данных, структурированных аналогично этому:
df <- data.frame(x = c('notes','year',1995:2005), y = c(NA,'value',11:21))
df2 <- data.frame(x = c('notes','year',1995:2005), y = c(NA,'value',50:60))
Чтобы очистить их, я написал пользовательскую функцию с набором шагов очистки:
clean <- function(df){
colnames(df) <- df[2,]
df <- df[grep('^[0-9]{4}', df$year),]
return(df)
}
Теперь я хотел бы поместить свои фреймы данных в список:
df_list <- list(df,df2)
и очистить их все сразу.Я пытался
lapply(df_list, clean)
и
for(df in df_list){
clean(df)
}
Но с обоими методами я получаю сообщение об ошибке:
Error in df[2, ] : incorrect number of dimensions
В чем причина этой ошибки и как ее исправить?Мой подход к этой проблеме неверен?