zip関数を使う。utilsパッケージに含まれているため、Rをインストール直後から使うことができる。
試しに作ってみる。以下は、C:\Windowsフォルダーにあるwin.iniとwrite.exeからpack.zipというZIPファイルを作った例。
> v <- c("C:/Windows/win.ini", "C:/Windows/write.exe")
> zip("pack.zip", v)
adding: Windows/win.ini (deflated 21%)
adding: Windows/write.exe (deflated 60%)
カレントディレクトリ(getwd関数で得られるディレクトリ)にpack.zipというZIPファイルが作成されているはず。
ZIPファイルの展開や中身の確認はunzip関数を使う。unzip関数のlistオプションにTRUEを指定すると、ファイルは展開されずに中のファイル一覧の表示だけを行う。
> unzip("pack.zip", list = TRUE)
Name Length Date
1 Windows/win.ini 92 2016-07-16 20:45:00
2 Windows/write.exe 11264 2019-12-07 06:29:00
展開するには、listオプションに何も指定をしない(デフォルトはFALSE)。上記のとおりzip関数で作成したzipファイルには、元ファイルのディレクトリが含まれてしまう。元のディレクトリを含めずにファイルを単純に展開する場合は、junkpathsオプションにTRUEを指定する。setTimesオプションにTRUEを指定すると元のファイルのタイムスタンプを保持したまま展開する。
> unzip("pack.zip", junkpaths = TRUE, setTimes = TRUE)