использование rbind для объединения всех наборов данных, имена всех наборов данных начинаются с общих символов - PullRequest
1 голос
/ 16 октября 2019

Я хочу объединить все строки разных наборов данных. Имена всех наборов данных начинаются с теста. Все наборы данных имеют одинаковое количество наблюдений. Я знаю, что могу комбинировать это с помощью rbind (). Но ввод имен каждого набора данных займет много времени. Предложите мне лучший подход.

rbind(test1,test2,test3,test4)

Ответы [ 2 ]

3 голосов
/ 16 октября 2019

Попробуйте сначала получить вектор всех подходящих объектов, используя ls() с шаблоном ^test:

dfs <- lapply(ls(pattern="^test"), function(x) get(x))
result <- rbindlist(dfs)

Я принимаю предложение @Rohit использовать rbindlist, чтобы облегчить нашу жизньrbind вместе список фреймов данных.

0 голосов
/ 16 октября 2019

Вторая строка приведенного выше кода будет работать, только если наборы данных находятся в форме data.table или фрейма данных. Если наборы данных имеют формат xts / zoo, то нужно сделать небольшое улучшение, используя функцию do.call ().

## First make a list of all your data sets as suggested above
list_xts <- lapply(ls(pattern="^test"), function(x) get(x))
## then use do call and rbind()
xts_results<-do.call(rbind,list_xts)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...