List files in R that do NOT match a pattern

后端 未结 2 2015
感情败类
感情败类 2021-01-03 20:25

R has a function to list files in a directory, which is list.files(). It comes with the optional parameter pattern= to list only files

相关标签:
2条回答
  • 2021-01-03 20:32

    I belive you will have to do it yourself, as list.files does not support Perl regex (so you couldn't do something like pattern=^(?!new_)).

    i.e. list all files then filter them with grep:

    grep(list.files(path="data"), pattern='new_', invert=TRUE, value=TRUE)
    

    The grep(...) does the pattern matching; invert=TRUE inverts the match; value=TRUE returns the values of the matches (i.e. the filenames) rather than the indices of the matches.

    0 讨论(0)
  • 2021-01-03 20:50

    I think that the simplest (and probably fastest if you include programmer time) approach is to run list.files 2 times, once to list all the files, then the second time with the pattern of files that you do not want, then use the setdiff function to find those file names that are not in the group that you want to exclude.

    0 讨论(0)
提交回复
热议问题