анализ списка имен столбцов в функции

#r #dplyr

Вопрос:

Я хочу динамически анализировать список столбцов переменных в функции, прямо сейчас я передаю их вручную, но я хочу анализировать динамически .

Я попробовал lst из dplyr, но это не сработало

Я хочу передать имена столбцов в lst, как показано ниже, и это должно сработать . результат должен быть таким же, как и сейчас

col_lst

 data<-data.frame( c1=c(1,1,NA,NA,NA,NA,NA,NA,1,NA,NA,NA,NA,NA,NA,NA,NA,1,NA,NA,NA,1,1,1,NA,1,1,NA,NA,NA,NA,1,NA,NA,NA,NA,1,NA,1),
                  c2=c(1,1,1,1,1,NA,NA,NA,NA,1,1,1,1,1,NA,NA,NA,1,1,1,NA,1,1,1,1,1,NA,NA,NA,1,1,1,1,1,1,1,NA,NA,NA),
                  c3=c(1,1,NA,NA,NA,NA,NA,1,NA,NA,NA,NA,NA,NA,NA,NA,1,NA,NA,NA,NA,NA,1,1,1,NA,NA,NA,1,NA,NA,1,1,1,1,1,NA,NA,1),
                  c4=c(1,NA,NA,NA,NA,NA,NA,NA,NA,NA,1,NA,NA,NA,NA,NA,NA,NA,1,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA),
                  c5=c(NA,1,NA,NA,1,NA,1,1,NA,NA,1,NA,1,1,NA,1,NA,1,1,NA,1,NA,NA,1,NA,NA,1,NA,1,NA,NA,1,NA,1,NA,1,NA,1,NA),
                  c6=c(1,NA,1,NA,NA,1,NA,NA,1,NA,1,NA,1,1,NA,1,1,NA,1,NA,1,1,NA,1,NA,1,1,1,1,1,1,1,NA,1,NA,1,1,NA,1),
                  c7=c(NA,1,1,NA,1,NA,1,1,NA,NA,1,1,NA,NA,NA,1,1,NA,1,NA,1,1,NA,1,NA,1,NA,1,NA,1,NA,1,NA,1,NA,NA,1,1,NA),
                  c8=c(NA,1,1,NA,1,NA,1,1,NA,NA,1,1,NA,NA,NA,1,1,NA,1,NA,1,1,NA,1,NA,1,NA,1,NA,1,NA,1,NA,1,NA,NA,1,1,NA),
                  region=c(1,2,1,1,1,2,1,2,2,1,2,NA,1,1,2,2,2,1,1,1,2,NA,2,1,1,1,2,2,2,NA,1,2,2,1,1,1,2,2,2)
)



df<- data
df_list <- df_lst(df,lst)

 

Ответ №1:

Мы могли бы использовать split.default для автоматического создания list

 df_list <- split.default(df, names(df) %in% c('qq', 'ss'))
 

Ответ №2:

Вы можете создать вектор имен столбцов и использовать его для подмножества df .

 lst <- c('qq', 'ss')
df_list <- df_lst(df,df[lst])
 

Комментарии:

1. есть ли какой-нибудь способ, которым я могу обновить свою функцию, чтобы она работала таким же образом…….???