1. 程式人生 > >R語言讀取資料(Practical Data Science with R 第二章)

R語言讀取資料(Practical Data Science with R 第二章)


1、用R語言讀取檔案中的資料

1.1、用R語言讀取結構化資料

以University of California Irvine Machine Learning Repository (http://archive.ics.uci.edu/ml/)的car資料為例:

uciCar <- read.table(
'http://www.win-vector.com/dfiles/car.data.csv',
sep=',',
header=T
)
變數uciCar中儲存了連結檔案中的資料資訊。並且,命令read.table()非常強大,如果檔案的副檔名是.gz,那麼命令read.table()會自動解壓縮,並載入資料。

完成讀取資料以後,我們需要對資料進行初步的觀察分析。需要用到一下幾個命令:

檢視資料的型別class()

class(uciCar)
資料摘要summary()
summary(uciCar)
1.2、用R讀取半結構化資料

有的資料並沒有很好的結構化,例如:http://mng.bz/mZbu 的資料

A11 6 A34 A43 1169 A65 A75 4 A93 A101 4 ...
A12 48 A32 A43 5951 A61 A73 2 A92 A101 2 ...
A14 12 A34 A46 20

d <- read.table(paste('http://archive.ics.uci.edu/ml/',
'machine-learning-databases/statlog/german/german.data',sep=''),
stringsAsFactors=F,header=F)
print(d[1:3,])
我們可以設定列名:
colnames(d) <- c('Status.of.existing.checking.account',
'Duration.in.month', 'Credit.history', 'Purpose',
'Credit.amount', 'Savings account/bonds',
'Present.employment.since','Installment.rate.in.percentage.of.disposable.income',
'Personal.status.and.sex', 'Other.debtors/guarantors',
'Present.residence.since', 'Property', 'Age.in.years',
'Other.installment.plans', 'Housing',
'Number.of.existing.credits.at.this.bank', 'Job',
'Number.of.people.being.liable.to.provide.maintenance.for',
'Telephone', 'foreign.worker', 'Good.Loan')
d$Good.Loan <- as.factor(ifelse(d$Good.Loan==1,'GoodLoan','BadLoan'))
print(d[1:3,])
命令c()生成了一個向量。
我們通過資料的說明文件,可以知道資料資訊的意義,比如:在第4列中,A40 is a new car loan, A41 is a used car loan。把所有的解釋對應生成一個list:
mapping <- list(
'A40'='car (new)',
'A41'='car (used)',
'A42'='furniture/equipment',
'A43'='radio/television',
'A44'='domestic appliances',
...
)

我們用迴圈把資料進行替換:

for(i in 1:(dim(d))[2]) {
    if(class(d[,i])=='character') {
        d[,i] <- as.factor(as.character(mapping[d[,i]]))
    }
}
觀察一下資料:
print(d[1:3,'Purpose'])
如果程式不全,無法執行,原文作者已經將所有程式碼分享:

https://github.com/WinVector/zmPDSwR/tree/master/Statlog/

相關推薦

R語言讀取資料Practical Data Science with R 第二

1、用R語言讀取檔案中的資料 1.1、用R語言讀取結構化資料 以University of California Irvine Machine Learning Repository (http://archive.ics.uci.edu/ml/)的car資料為例: u

選合適的R語言讀取資料方式

今天是個好日子,特地花時間看了R Data Import/Export,不僅萌生了匯入各種不同的資料方式,看看哪個更適合自己的需要,僅僅算是娛樂吧!!! 檔案不是特別大,先讓他們走一波,細小的看一看,對比一波,再看大的資料集。 system.time

170720 混淆矩陣繪製+pandas讀取資料有點亂,後面抽空再整理

E:\Backup\validation confusion matrix_final2 # -*- coding: utf-8 -*- """ Created on Fri May 19 11:17:12 2017 @author: Bruce

從resource中的raw資料夾中獲取檔案並讀取資料資原始檔只能讀不能寫

轉載:http://blog.sina.com.cn/s/blog_4d25c9870100qpax.html 一、 從resource中的raw資料夾中獲取檔案並讀取資料(資原始檔只能讀不能寫) String res = ""; try{ InputStre

R語言實戰》之 創建數據集(第二,各種數據結構

前三 實戰 創建 data div mask 結果 搜索 全局 數據集 2.1數據集概念 概念:通常是由數據構成的矩形數據 不同行業對數據集的行和列叫法不同 行業人 行 列 統計學家 觀測(observation) 變量(variable) 數據庫分析師 記錄

如何用R進行蒙特卡羅模擬Monte Carlo Simulation with R

本文所講的蒙特卡羅模擬是建立在正態分佈的基礎上。假設我們給定一隻股票的初始價格P0, 並且從歷史日度資料估計出該股票的每日期望回報率為 mean.logret, 標準差為sd.logret. ( 在估計這兩個重要引數時,可以先求歷史收盤價的對數,然後求差分,即可獲得dail

R語言-基礎操作批量資料讀取和輸出

使用R語言時一個常遇到的問題,就是檔案的批量讀取和對結果的批量輸出。 批量讀取 批量讀取資料,有兩種形式,讀取一個目錄下的所有檔案,從資料庫中讀取多個表。 ##讀取同一目錄下的所有檔案 pat

R語言學習筆記十七data.table包中melt與dcast函數的使用

eas table variable mil pat efault ast 函數 pre melt函數可以將寬數據轉化為長數據 dcast函數可以將長數據轉化為寬數據 > DT = fread("melt_default.csv") > DT

【兩行命令】R語言讀取excel資料

安裝庫 安裝xlsx install.packages("xlsx") 使用 library(xlsx) ray = read.xlsx('D:/Code/R/Data in Excel/Chapter 8/gamma-ray.xls',1) 後面的引數,第一個放

R語言入門到放棄 R語言讀取不同檔案型別中資料的4種方法

R語言入門到放棄 R語言讀取檔案中資料的4中方法 方法一:直接讀取 > getwd() # 獲取當前的工作路徑 將要讀取的檔案剪下到當前的工作路徑,下面讀取檔案 x<-read.table("text.txt") Warning message

R語言學習筆記資料處理

本文的示例資料框集(egData)如下: 值標籤: if(FALSE){值標籤,levels代表變數實際值,labels代表標籤值} egData$sex <- factor(egDa

R語言入門——筆記建立資料

第一部分:資料結構 1.建立向量:c() c(…, recursive = FALSE, use.names = TRUE) 根據元素座標訪問 2.建立矩陣:matrix() matrix(data = NA, nrow = 1, ncol

R語言學習二包與資料

R語言安裝包 什麼是R語言的包? 我們可以把它視為一種擴充套件R基本功能的機制,包本身也集成了眾多的函式。在使用R的過程中如果我們要使用某些函式,而當前R裡面沒有的話,我們通常可以去查詢那些與其相關的包,那些包裡面通常已經包含了其他開發者開發好的功能,我們

資料分析--用R語言預測離職

資料分析–用R語言預測離職(下) 接上一篇~ 接下來我們探索離職和其他分類變數的關係~ > library(scales) > k1 <- ggplot(attr.df, aes(x=Gender,fill=Attrition))+

資料分析--用R語言預測離職

資料分析–用R語言預測離職(上) 資料可以直接下載,欄位都是英文的,部分欄位描述如下: 變數型別 變數名 描述 取值範圍 結果變數 Attrition 員工是否流失 Yes, No 自變數 Ag

R語言學習筆記十一:廣義線性模型

學習筆記 Education 5.0 1.3 style only 可能性 div erro #Logistic 回歸 install.packages("AER") data(Affairs,package="AER") summary(Affairs) a

R語言學習筆記十三:時間序列

abs 以及 stat max 時間 aic air ror imp #生成時間序列對象 sales<-c(18,33,41,7,34,35,24,25,24,21,25,20,22,31,40,29,25,21,22,54,31,25,26,35) tsal

R語言學習筆記十六:處理缺失值

ima 結果 cti img dataset case prop .com log #識別缺失值 install.packages("VIM") data(sleep,package="VIM") #列出沒有缺失值的行 sleep[complete.case

R語言-基本資料結構的用法

關鍵詞:向量、矩陣、陣列、資料框、因子、列表 近期開始上手R語言,可能是出於對機器學習的興趣吧從而瞭解到這門語言; 之前也看過人生苦短的Python,當然這兩門語言都是人工智慧技術中很好的工具; 二者也存在一些相同之處,當然是除了開源之外的一些相同之處; 本人蔘考的書籍是R語言實戰[

R語言——電視劇資料分析

對如下資料進行描述性分析,其中包括:最大值,最小值,中位數,眾數等,求表的行數、列數。 讀入資料 > mydata<-read.csv("C:\\Users\\adwar\\Desktop\\soapdata.csv") 求表的行數: >