天天看點

flux讀取不到資料_資料分析必備:掌握這個R語言基礎包1%的功能,你就很牛了...01 read.csv/csv2:逗号分隔資料讀取

導讀:無論資料分析的目的是什麼,将資料導入R中的過程都是不可或缺的。畢竟巧婦難為無米之炊。

utils包是R語言的基礎包之一。這個包最重要的任務其實并不是進行資料導入,而是為程式設計和開發R包提供非常實用的工具函數。使用utils包來進行資料導入和初步的資料探索也許僅僅隻是利用了utils包不到1%的功能,但這1%卻足以讓你在學習R語言時事半功倍。

作者:劉健 邬書豪

如需轉載請聯系華章科技

flux讀取不到資料_資料分析必備:掌握這個R語言基礎包1%的功能,你就很牛了...01 read.csv/csv2:逗号分隔資料讀取

01 read.csv/csv2:逗号分隔資料讀取

.csv可能是目前最常見的平面檔案類型了。它代表的是comma-separated values,簡單來講就是,檔案裡每一個單獨的資料值都是用逗号進行分隔的。

.csv隻是text file(文本檔案)的一種,文本檔案在微軟的Windows作業系統中常以拓展名為.txt的形式呈現。文本檔案可以使用各種符号來分隔資料值,例如常見的tab和“;”(分号),或者其他任意符号。即便是以.csv為拓展名的檔案也并非一定是以逗号進行分隔的,相關内容在後文的函數示範部分會有介紹。

檔案的拓展名并非必須,熟悉Linux系統的讀者可能接觸過很多無拓展名的檔案。處理無拓展名的文本檔案資料時,最簡單的辦法就是使用data.table包中的fread函數。

utils裡的read.csv/csv2是專門用于設定快速讀取逗号分隔(read.csv)或是分号分隔(read.csv2)。也就是說,在事先了解資料值分隔符号的情況下,這兩個函數對分隔符和其他一些參數的預設設定會使資料導入的部分更加簡單和快捷。

有一點需要特别注意,即這兩個函數對小數點的處理:前者預設的小數點是“.”,後者預設的小數點是“,”。這隻是因為不同國家技術人員對資料值分隔符的見解或者好惡不同而造成的。

萬裡長征第一步,我們先來看read.csv最簡單的使用方式,代碼如下:

> flights 
           

此行代碼可以解讀為使用read.csv從工作空間讀取檔案flights.csv,然後将資料集儲存到flights中,其他所有參數都使用預設值。因為flights.csv檔案已經在R的工作路徑裡,是以此處免去了設定work directory。

這裡希望讀者能夠自行探索使用.rproj(R項目—将每一次資料分析的過程都看作一個獨立的項目)來對每一個獨立的資料分析工作進行分類和歸集。該方法不僅免去了設定路徑的麻煩,也減少了因原始資料檔案太多而可能導緻的各種隐患。

小知識:函數在執行的時候可以依照其預設設定的參數位置來執行,也就是說,使用者無須指定每一個參數的名稱,隻需按照位置順序來設定參數值即可。比如,read.csv中的file參數名就可以省略,隻要第一位是讀取文檔的目标路徑和檔案名就可以。

資料檔案被讀取到R工作環境中的第一步通常為調用str函數來對該資料對象進行初步檢視,下面的代碼列出了該函數最簡單的使用方式。

> str(object = flights) 'data.frame': 6 obs. of 6 variables:$ carrier : Factor w/ 4 levels "AA