利用R語言解壓與壓縮.tar.gz.zip等格式文件
最近嘗試用 R 對一些文件進行批量的解壓與壓縮,這里記錄一些常用的解壓與壓縮的方法。
由于解壓與壓縮是對稱的兩種方法,這里我們著重以對文件的解壓為例,分不同的格式進行講解。
.zip
壓縮:zip()
解壓:unzip()
若要壓縮文件,就直接在 zip()
函數(shù)的第一個參數(shù)里面輸入壓縮后的文件名,第二個參數(shù)輸入壓縮前的文件名。
而解壓文件就更簡單了,直接利用 unzip()
里面加上需要解壓的文件名稱即可。
.tar.gz
壓縮:tar()
解壓:untar()
同 .zip
后綴的壓縮文件。
.gz 與 .bz2
這兩個壓縮文件與前面的相比,是最與眾不同的,因為這兩種后綴的文件,可以稱之為壓縮文件,也可以直接作為一個數(shù)據(jù)文件,當成 data frame
直接進行讀取。因為其本身就是數(shù)據(jù)文件。
下面我們以 解壓 / 讀取 進行詳細說明:
1) 直接解壓
R 中默認沒有解壓相關(guān)文件的函數(shù),需要使用一個包:R.utils
,然后如下述代碼所示,利用 gunzip()
函數(shù),即可解壓。
library(R.utils) gunzip("file.gz", remove = `TRUE`) bunzip2("file.bz2", remove = `TRUE`)
注意是這個函數(shù)里面多了一個 remove =
參數(shù),選擇 TRUE
就會只保留解壓后的文件,原壓縮包會被刪除,默認就是 TRUE
。
解壓之后,我們可以直接用 read.table()
對其進行讀取。
2) 直接讀取
當然,如果我們的目的只是讀取其中的數(shù)據(jù),而不是一定需要解壓,則可以使用兩個默認函數(shù)組合的形式,直接對數(shù)據(jù)進行讀?。?/p>
dat <- read.table(gzfile("file.gz"))
而針對 2.10 版本之后的 R,還有另一種更方便的讀取方式,就是直接使用 read.table()
對其進行讀取。
dat <- read.table("file.gz")
參考
untar: Extract Or List Tar Archives
以上就是利用R語言解壓與壓縮.tar.gz.zip等格式文件的詳細內(nèi)容,更多關(guān)于R語言解壓與壓縮文件的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Flex中對表格某列的值進行數(shù)字格式化并求百分比添加%
需要對表格中某列的數(shù)值進行格式化,對該數(shù)值乘以100,并保留兩位小數(shù),添加“%”下面同實例來實現(xiàn)下2014-10-10Flex 自定義DataGrid實現(xiàn)根據(jù)條目某一屬性值改變背景顏色
本節(jié)主要介紹了Flex DataGrid根據(jù)條目某一屬性值改變背景顏色,此DataGrid為自定義拓展的,需要的朋友可以參考下2014-07-07flex的tree動態(tài)加載大量數(shù)據(jù)與滾動條相關(guān)問題探討
本文將對flex的tree動態(tài)加載大量數(shù)據(jù)與滾動條相關(guān)的問題進行探討,感興趣的朋友可以參考下哈,希望對你有所幫助2013-05-05Flex中的HDividedBox和VDividedBox的比較附圖
學習Flex的朋友對HDividedBox和VDividedBox并不陌生吧,下面是兩者的簡單比較,感興趣的朋友可以參考下2013-10-10