У меня есть этот поиск кадр данных:Subset и поиск из отдельной таблицы
VAR1=c('X1')
VAR2=c('X2')
VAR3=c('X3')
VAR4=c('X4')
VAR5=c('NA')
df<-data.frame(VAR1,VAR2,VAR3,VAR4,VAR5)
, который мне нужно пересечь ссылку с основным кадром данных, так что я выбираю переменные X1 Х5. Иногда, как и в примере, столбец 5 просто NA.
Я обычно использую что-то вроде ниже:
main_data <-subset(main_data, select=c(df[1,1],df[1,2],df[1,3]))
main_data <-subset(main_data, select=c(df[1,1:max(col(df))]))
но есть NAs, и к тому же у меня будет динамический подсчет столбцов, и они не работают.
Другая идея состоит в том, чтобы использовать grepl на main_data, но я не могу заставить его работать с более чем одной переменной в то время:
main_data <- main_data[, grepl(paste0(df[1:max(col(df))], colnames(main_data)))]
Я уверен, есть простой способ сделать это, но я не могу Найди это.
Другой способ заставить 'df' вектору и использовать'% в% '. Например. 'main_data [, names (main_data)% in% yourvector]'. –
@ RomanLuštrik Хорошая мысль, я тестирую это сейчас. –