版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、賈俊平數(shù)據(jù)可視化 R 語(yǔ)言 課 程 結(jié) 構(gòu)數(shù)據(jù)可視化與R語(yǔ)言 R繪圖基礎(chǔ)類別數(shù)據(jù)可視化分布特征可視化變量間關(guān)系可視化樣本相似性可視化時(shí)間序列可視化概率分布可視化其他可視化圖形數(shù)據(jù)可視化Chap 1 數(shù)據(jù)可視化與 R 語(yǔ)言1.1 數(shù)據(jù)可視化概論1.2 R 的初步使用1.3 創(chuàng)建 R 數(shù)據(jù)1.4 R 語(yǔ)言數(shù)據(jù)處理 R的初步使用創(chuàng)建R數(shù)據(jù) Chap 1 數(shù)據(jù)可視化與 R 語(yǔ)言R語(yǔ)言數(shù)據(jù)處理數(shù)據(jù)可視概述Chap 1矩陣向量和數(shù)組數(shù)據(jù)框因子和列表可視化及其分類數(shù)據(jù)類型實(shí)現(xiàn)工具注意事項(xiàng)下載與安裝對(duì)象賦值表新鞋腳本查看幫助安裝和加載包讀取與保持隨機(jī)數(shù)和抽樣生成頻數(shù)表類型轉(zhuǎn)換 1.1 數(shù)據(jù)可視化概述可視化的起
2、源最早可追溯到17世紀(jì),當(dāng)時(shí)人們就開始對(duì)一些物理的基本測(cè)量結(jié)果手工繪制圖表。、18世紀(jì)統(tǒng)計(jì)圖形得以迅速發(fā)展,其奠基人William Playfair發(fā)明了折線圖、條形圖、餅圖等。隨著繪制手段的進(jìn)步,到19世紀(jì),統(tǒng)計(jì)圖形得到了進(jìn)一步的發(fā)展和完善,產(chǎn)生了直方圖、輪廓圖等更多的圖形,初步形成了統(tǒng)計(jì)圖表體系進(jìn)入20世紀(jì)50年代,隨著計(jì)算機(jī)技術(shù)的發(fā)展,逐步形成了計(jì)算機(jī)圖形學(xué),人們利用計(jì)算機(jī)創(chuàng)建出了首批圖形和圖表進(jìn)入21世紀(jì),可視化作為一門性對(duì)獨(dú)立的學(xué)科仍處于迅速發(fā)展和完善之中,它在生活、生產(chǎn)和科學(xué)研究的各個(gè)領(lǐng)域已得到廣泛應(yīng)用 可視化及其分類簡(jiǎn)史 1.1 數(shù)據(jù)可視化概述數(shù)據(jù)可視化(data visuali
3、zation)是研究數(shù)據(jù)的視覺表現(xiàn)形式的方法和技術(shù),它是綜合運(yùn)用計(jì)算機(jī)圖形學(xué)、圖像、人機(jī)交互等技術(shù)將數(shù)據(jù)映射為可識(shí)別的圖形、圖像、視頻或動(dòng)畫,并允許用戶對(duì)數(shù)據(jù)進(jìn)行交互分析理論、方法和技術(shù)數(shù)據(jù)可視化是將數(shù)據(jù)用圖形表達(dá)出來的一種手段,它可以幫助人們更好地理解或解釋數(shù)據(jù),并從數(shù)據(jù)中提取更多的信息 可視化及其分類什么是可視化 1.1 數(shù)據(jù)可視化概述根據(jù)可視化所處理的數(shù)據(jù)對(duì)象,數(shù)據(jù)可視化分為科學(xué)可視化和信息可視化兩大類科學(xué)可視化主要是面向科學(xué)和工程領(lǐng)域的數(shù)據(jù),如空間坐標(biāo)和幾何信息的3維空間數(shù)據(jù)、醫(yī)學(xué)影像數(shù)據(jù)、計(jì)算機(jī)模擬數(shù)據(jù)等,主要探索如何以幾何、拓?fù)浜托螤顏沓尸F(xiàn)數(shù)據(jù)的特征和規(guī)律。根據(jù)數(shù)據(jù)的類型,科學(xué)可視
4、化大致可分為標(biāo)量場(chǎng)可視化、向量場(chǎng)可視化和張量場(chǎng)三類信息可視化處理的是非結(jié)構(gòu)化和非幾何的數(shù)據(jù),如金融交易數(shù)據(jù)、社交網(wǎng)絡(luò)數(shù)據(jù)、文本數(shù)據(jù)等。統(tǒng)計(jì)圖形就屬于傳統(tǒng)的信息可視化,其表現(xiàn)形式通常是在二維空間中表達(dá)數(shù)據(jù)信息 可視化及其分類可視化分類 1.1 數(shù)據(jù)可視化概述數(shù)據(jù)可視化的應(yīng)用的方式和形式主要取決于使用者的目的有些是用于數(shù)據(jù)觀測(cè)和跟蹤,比如,實(shí)時(shí)的股票價(jià)格指數(shù)變化圖,道路交通狀況的實(shí)時(shí)監(jiān)測(cè)等。這類可視化強(qiáng)調(diào)實(shí)時(shí)性和圖表的可讀性有些是用于數(shù)據(jù)分析和探索,比如,分析數(shù)據(jù)分布特征的圖表,分析變量間關(guān)系的圖表等等。這類圖表主要強(qiáng)調(diào)數(shù)據(jù)的呈現(xiàn)或表達(dá),發(fā)現(xiàn)數(shù)據(jù)之間的潛在關(guān)聯(lián)有些是為幫助普通用戶或商業(yè)用戶快速理解
5、數(shù)據(jù)的含義或變化,比如,商業(yè)類圖表。還有些則是用于教育或宣傳,比如出現(xiàn)在街頭、雜志上的圖表。這類圖表強(qiáng)調(diào)說服力,通常使用強(qiáng)烈的對(duì)比、置換等手段,繪制出具有沖擊力的圖像 可視化及其分類可視化應(yīng)用類別無(wú)序類有序類數(shù)值離散值連續(xù)值基本分類可視化面對(duì)的數(shù)據(jù)單純類很少單純值較少混合型經(jīng)常 1.1 數(shù)據(jù)可視化概述 數(shù)據(jù)類型 1.1 數(shù)據(jù)可視化概述繪圖使用的數(shù)據(jù)大致可分為兩大類,即類別數(shù)據(jù)(categorical data)和數(shù)值數(shù)據(jù)(metric data)類別數(shù)據(jù)也稱分類數(shù)據(jù)或定性數(shù)據(jù)(qualitative variable)它是類別變量(categorical variable)的觀測(cè)結(jié)果類別變量(
6、或稱分類變量)是取值為對(duì)象屬性、類別或區(qū)間值的變量,也稱分類變量或定性變量(qualitative variable根據(jù)取值是否有序可分為無(wú)序類別變量和有序類別變量。無(wú)序類別變量的各類別間是不可以排序的,而有序類別變量的各類別間則是有序的 數(shù)據(jù)類型 1.1 數(shù)據(jù)可視化概述數(shù)值數(shù)據(jù)也稱定量數(shù)據(jù)(quantitative data),它是數(shù)值變量(metric variable)的觀測(cè)結(jié)果數(shù)值變量是取值為數(shù)字的變量,也稱定量變量(quantitative variable)根據(jù)其取值的不同可以分為離散變量(discrete variable)和連續(xù)變量(continuous variable)離散
7、變量是只能取有限值的變量,而且其取值可以列舉,連續(xù)變量是可以在一個(gè)或多個(gè)區(qū)間中取任何值的變量 數(shù)據(jù)類型 1.1 數(shù)據(jù)可視化概述分析目的決定你需要畫出什么圖形??梢暬皇菫楫媹D而畫圖,畫什么圖完全取決于分析目的在可視化分析中,使用的變量往往不是單一的某一類,通常是不同類型變量的混合混合的數(shù)據(jù)結(jié)構(gòu)通??梢援嫵龆喾N圖形,但要畫出什么圖形需要根據(jù)分析的目的做出選擇,并非要畫出所有可能的圖形 分析目的 1.1 數(shù)據(jù)可視化概述實(shí)現(xiàn)工具決定你能夠畫出什么圖形使用不同的軟件能夠畫出的圖形是不同的,即使是同一種圖形,不同軟件有可能有不同的圖形式樣R是一種免費(fèi)的統(tǒng)計(jì)計(jì)算和繪圖語(yǔ)言,也是一套開源的數(shù)據(jù)分析解決方案。
8、R不僅提供了內(nèi)容豐富的數(shù)據(jù)分析方法,也具有功能強(qiáng)大的可視化技術(shù)R具有多樣性和靈活性的特點(diǎn),使用者可根據(jù)需要選擇圖形并進(jìn)行修改R提供了大量的繪圖包和函數(shù),幾乎所有圖形均可以使用R函數(shù)來繪制,每個(gè)函數(shù)都附有詳細(xì)的幫助信息如果對(duì)圖形有特殊要求,使用者還可以自己編寫程序繪制想要的圖形 實(shí)現(xiàn)工具 1.1 數(shù)據(jù)可視化概述一幅完整的圖形大體上包括圖形主體、標(biāo)題、坐標(biāo)軸注釋等要素圖形主體用于表達(dá)數(shù)據(jù)信息。標(biāo)題用于注釋圖形的內(nèi)容,一般包括數(shù)據(jù)所屬的時(shí)間(when)、地點(diǎn)(where)和內(nèi)容(what)應(yīng)包括必要的圖形編號(hào)。標(biāo)題可以放在圖的上方,也可放在圖的下方坐標(biāo)軸注釋需要標(biāo)示出坐標(biāo)軸所代表的變量名稱,以便于閱
9、讀和理解圖形的比例一般圖形的比例大致為4:3的一個(gè)矩形,過長(zhǎng)或過高的圖形都有可能歪曲數(shù)據(jù),給人留下錯(cuò)誤的印象 注意事項(xiàng) 1.2 R 的初步使用 R 的下載與安裝 1.2 R 的初步使用# 對(duì)象賦值y-c(80,87,98,73,100) # 將5個(gè)數(shù)據(jù)賦值給對(duì)象yz-example1_1 # 將數(shù)據(jù)框example1_1賦值給對(duì)象zsum(y) # 計(jì)算對(duì)象y的總和mean(y) # 計(jì)算對(duì)象y的平均數(shù)var(y) # 計(jì)算對(duì)象y的方差 對(duì)象賦值與運(yùn)行 1.2 R 的初步使用R代碼雖然可以在提示符后輸入,但如果輸入的代碼較多,難免出現(xiàn)輸入錯(cuò)誤如果代碼輸入錯(cuò)誤或書寫格式錯(cuò)誤,運(yùn)行后R會(huì)出現(xiàn)錯(cuò)誤提
10、示或警告信息。這時(shí),在R中修改錯(cuò)誤的代碼就比較麻煩,也不利于代碼的保存R代碼最好是在腳本文件中編寫,書寫完成后,選中輸入的代碼,并點(diǎn)擊鼠標(biāo)右鍵,選擇“運(yùn)行當(dāng)前行或所選代碼”,即可在R中運(yùn)行該代碼并得到相應(yīng)結(jié)果 編寫代碼基本 1.2 R 的初步使用help(sum) # 查看mean函數(shù)的幫助信息help(package=stats) # 查看包stats的信息var # 查看var函數(shù)源代碼 查看 R 幫助 1.2 R 的初步使用# 安裝包install.packages(ggplot2) # 安裝包ggplot2install.packages(c(ggplot2,vcd) # 同時(shí)安裝gg
11、plot2和vcd兩個(gè)包# 加載包library(ggplot2) # 加載包ggplot2或require(ggplot2) # 加載包ggplot2 包的安裝于加載 1.3 創(chuàng)建 R 數(shù)據(jù)在R中分析數(shù)據(jù)或創(chuàng)建一個(gè)圖形時(shí),首先要有分析或繪圖的數(shù)據(jù)集(data set)R處理的數(shù)據(jù)集類型包括向量(vector)、矩陣(matrix)、數(shù)組(array)、數(shù)據(jù)框(data frame)、因子(factor)、列表(list)等 R 的數(shù)據(jù)形式 1.3 創(chuàng)建 R 數(shù)據(jù)向量是個(gè)一維數(shù)組,其中可以是數(shù)值型數(shù)據(jù),也可以是字符數(shù)據(jù)或邏輯值(如TRUE或FALSE)。要在R中錄入一個(gè)向量,需要使用c函數(shù),將
12、不同元素組合成向量。下面是在R中創(chuàng)建不同元素向量的例子 創(chuàng)建 R 數(shù)據(jù)向量# 錄入向量a-c(2,5,8,3,9) # 數(shù)值型向量b-c(甲,乙,丙,丁) # 字符型向量c-c(TRUE,FALSE,FALSE,TRUE) # 邏輯值向量a;b;c # 運(yùn)行向量a,b,c# 訪問向量中的元素ac(2,5) 1.3 創(chuàng)建 R 數(shù)據(jù)矩陣是個(gè)二維數(shù)組,其中的每個(gè)元素都是相同的數(shù)據(jù)類型。用matrix函數(shù)可以創(chuàng)建矩陣 創(chuàng)建 R 數(shù)據(jù)矩陣# 用matrix函數(shù)創(chuàng)建矩陣a-1:6 # 生成1到6的數(shù)值向量mat-matrix(a, # 創(chuàng)建向量a的矩陣 nrow=2,ncol=3, # 矩陣行數(shù)為2,列數(shù)
13、為3 byrow=TRUE) # 按行填充矩陣的元素 mat # 顯示矩陣mat# 給矩陣添加行名和列名rownames(mat)=c(甲,乙) # 添加行名colnames(mat)=c(A,B,C) # 添加行名# 用t函數(shù)對(duì)矩陣轉(zhuǎn)置t(mat) # 矩陣轉(zhuǎn)置 1.3 創(chuàng)建 R 數(shù)據(jù)矩?cái)?shù)組與矩陣類似,但維數(shù)可以大于2。使用array函數(shù)可以創(chuàng)建數(shù)組 創(chuàng)建 R 數(shù)據(jù)數(shù)組dim1-c(男,女) # 指定第1個(gè)維度為2個(gè)元素dim2-c(贊成,中立,反對(duì)) # 指定第2個(gè)維度為3個(gè)元素dim3-c(東部,西部,南部,北部) # 指定第3個(gè)維度為4個(gè)元素data-round(runif(24,50
14、,100) # 生成24個(gè)均勻分布的隨機(jī)數(shù),并取整d-array(data,c(2,3,4),dimnames=list(dim1,dim2,dim3) # 創(chuàng)建數(shù)組并賦值給對(duì)象d 1.3 創(chuàng)建 R 數(shù)據(jù)使用data.frame函數(shù)可創(chuàng)建數(shù)據(jù)框 創(chuàng)建 R 數(shù)據(jù)數(shù)據(jù)框# 寫入姓名和分?jǐn)?shù)向量names-c(劉文濤,王宇翔,田思雨,徐麗娜,丁文斌) # 寫入學(xué)生姓名向量stat-c(68,85,74,88,63) # 寫入各門課程分?jǐn)?shù)向量math-c(85,91,74,100,82)econ-c(84,63,61,49,89)# 將向量組織成數(shù)據(jù)框形式table1_1-data.frame(學(xué)生姓名
15、=names,統(tǒng)計(jì)學(xué)=stat,數(shù)學(xué)=math,經(jīng)濟(jì)學(xué)=econ) # 將數(shù)據(jù)組織成數(shù)據(jù)框形式,并儲(chǔ)存在對(duì)象table1_1中table1_1 # 顯示table1_1中的數(shù)據(jù)head(table1_1,3) # 查看前3行tail(table1_1,3) # 查看后3行 1.3 創(chuàng)建 R 數(shù)據(jù)使用data.frame函數(shù)可創(chuàng)建數(shù)據(jù)框 創(chuàng)建 R 數(shù)據(jù)數(shù)據(jù)框# 查看數(shù)據(jù)結(jié)構(gòu)str(table1_1) # 查看tabe1_1的數(shù)據(jù)結(jié)構(gòu)# 查看數(shù)據(jù)的行數(shù)和列數(shù)nrow(table1_1) # 查看tabe1_1的行數(shù)ncol(table1_1) # 查看tabe1_1的行數(shù)dim(table1_1)
16、 # 同時(shí)查看行數(shù)和列數(shù) 1.3 創(chuàng)建 R 數(shù)據(jù)使用rbind函數(shù)可以將不同的數(shù)據(jù)框按行合并;使用cbind函數(shù)可以將不同的數(shù)據(jù)框按列合并 創(chuàng)建 R 數(shù)據(jù)數(shù)據(jù)框的合并table1_1-read.csv(C:/mydata/chap01/table1_1.csv)table1_2-read.csv(C:/mydata/chap01/table1_2.csv)table1_3-read.csv(C:/mydata/chap01/table1_3.csv)mytable-rbind(table1_1,table1_2) # 按行合并數(shù)據(jù)框cbind(mytable,table1_32:3) # 按列
17、合并數(shù)據(jù)框 1.3 創(chuàng)建 R 數(shù)據(jù)使用sort函數(shù)可以對(duì)向量做排序,函數(shù)默認(rèn)decreasing=FALSE(默認(rèn)的參數(shù)設(shè)置可以省略不寫),即升序排列,降序時(shí)可設(shè)置參數(shù)decreasing=TRUE要對(duì)table1_1中的統(tǒng)計(jì)學(xué)分?jǐn)?shù)按降序排列,使用代碼sort(table1_1$統(tǒng)計(jì)學(xué),decreasing=TRUE)如果要對(duì)整個(gè)數(shù)據(jù)框中的數(shù)據(jù)進(jìn)行排序,而排序結(jié)果與數(shù)據(jù)框中的行變量相對(duì)應(yīng),則可以使用base包中的order函數(shù)、dplyr包中的arrange函數(shù)等 創(chuàng)建 R 數(shù)據(jù)數(shù)據(jù)框排序 1.3 創(chuàng)建 R 數(shù)據(jù)類別變量在R中稱為因子(factor),因子的取值稱為水平(level)。很多分析
18、或繪圖都可以按照因子的水平進(jìn)行分類處理使用factor函數(shù)可以將向量編碼為因子 創(chuàng)建 R 數(shù)據(jù)因子和列表# 將無(wú)序因子轉(zhuǎn)換為數(shù)值a-c(金融,地產(chǎn),醫(yī)藥,醫(yī)藥,金融,醫(yī)藥) # 因子af-factor(a) # 將向量a編碼為因子as.numeric(f) # 將因子a轉(zhuǎn)換為數(shù)值# 將無(wú)序因子轉(zhuǎn)換為有序因子或數(shù)值b-c(很好,好,一般,差,很差) # 因子bf-factor(b,ordered=TRUE,levels=c(很好,好,一般,差,很差)# 將向量b編碼為有序因子(主:此時(shí)生成的頻數(shù)表畫條形圖就是有序的了)as.numeric(f) # 將因子b轉(zhuǎn)換為數(shù)值 1.4 R 語(yǔ)言數(shù)據(jù)處理
19、數(shù)據(jù)讀取和保存# 讀取包含標(biāo)題的csv格式數(shù)據(jù) table1_1-read.csv(C:/mydata/chap01/table1_1.csv) # 讀取不包含標(biāo)題的csv格式數(shù)據(jù) table1_1-read.csv(C:/mydata/chap01/table1_1.csv,header=FALSE)# 讀取R格式數(shù)據(jù)load(C:/mydata/chap01/table1_1.RData)# 將tablel_1存為csv格式文件 write.csv(table1_1,file=C:/mydata/chap01/table1_1.csv)# 將tablel_1存為R格式文件 save(tab
20、le1_1,file=C:/mydata/chap01/table1_1.RData) 1.4 R 語(yǔ)言數(shù)據(jù)處理 生成隨機(jī)數(shù)和數(shù)據(jù)抽樣rnorm(10) # 產(chǎn)生10個(gè)標(biāo)準(zhǔn)正態(tài)分布隨機(jī)數(shù)set.seed(15) # 設(shè)定隨機(jī)數(shù)種子rnorm(10,50,5) # 產(chǎn)生10個(gè)均值為50、標(biāo)準(zhǔn)差為5的正態(tài)分布隨機(jī)數(shù)runif(10,0,100) # 在0到100之間產(chǎn)生10個(gè)均勻分布隨機(jī)數(shù)rchisq(10,15) # 產(chǎn)生10個(gè)自由度為15的卡方分布的隨機(jī)數(shù)# 數(shù)據(jù)抽樣N-1:20 # 1到20的數(shù)據(jù)n1-sample(N,size=10) # 無(wú)放回抽取10個(gè)數(shù)據(jù)n2-sample(N,siz
21、e=10,replace=TRUE) # 有放回抽取10個(gè)數(shù)據(jù)Ncol-c(black,red,green,blue,yellow) # 5種不同的顏色集合ncol-sample(Ncol,size=8,replace=TRUE);ncol # 有放回抽取8個(gè)顏色 1.4 R 語(yǔ)言數(shù)據(jù)處理 生成頻數(shù)分布表類別數(shù)據(jù)頻數(shù)分布表(frequency distribution table)是對(duì)類別數(shù)據(jù)(因子的水平)計(jì)數(shù)或數(shù)值數(shù)據(jù)類別化(分組)后計(jì)數(shù)生成的表格由于類別數(shù)據(jù)本身就是一種分類,只要將所有的類別都列出來,然后計(jì)算出每一類別的頻數(shù),即可生成一張頻數(shù)分布表根據(jù)觀測(cè)變量的多少,可以生成一維列聯(lián)表、二
22、維列聯(lián)表和多維列聯(lián)表 1.4 R 語(yǔ)言數(shù)據(jù)處理 生成頻數(shù)分布表類別數(shù)據(jù)一維表當(dāng)只涉及一個(gè)類別變量時(shí),這個(gè)變量的各類別可以放在頻數(shù)分布表中“行”的位置,也可以放在“列”的位置,將該變量的各類別及其相應(yīng)的頻數(shù)列出來就是簡(jiǎn)單頻數(shù)表,也稱一維列聯(lián)表(one - dimensional contingency table)或簡(jiǎn)稱一維表# 生成滿意度的簡(jiǎn)單頻數(shù)表。data1_1-read.csv(C:/mydata/chap01/data1_1.csv)attach(data1_1)mytable1-table(滿意度);mytable1prop.table(mytable1)*100 1.4 R 語(yǔ)言數(shù)
23、據(jù)處理 生成頻數(shù)分布表類別數(shù)據(jù)二維表當(dāng)涉及兩個(gè)類別變量時(shí),可以將一個(gè)變量的各類別放在“行”的位置,另一個(gè)變量的各類別放在“列”的位置(行和列可以互換),由兩個(gè)類別變量交叉分類形成的頻數(shù)分布表稱為二維列聯(lián)表(two-dimensional contingency table),簡(jiǎn)稱二維表或交叉表(cross table)# 生成性別和滿意度的二維列聯(lián)表。data1_1-read.csv(C:/mydata/chap01/data1_1.csv)attach(data1_1)mytable2-table(性別,滿意度) # 生成性別和滿意度的二維列聯(lián)表mytable2addmargins(myta
24、ble2) # 為列聯(lián)表添加邊際和addmargins(prop.table(mytable2)*100) # 將列聯(lián)表轉(zhuǎn)換成百分比表 1.4 R 語(yǔ)言數(shù)據(jù)處理 生成頻數(shù)分布表類別數(shù)據(jù)多維表當(dāng)有兩個(gè)以上類別變量時(shí),通常將一個(gè)或多個(gè)變量按“列”擺放,其余變量則按“行”擺放,這種由多個(gè)類別變量生成的頻數(shù)分布表稱為多維列聯(lián)表(multidimensional contingency table),簡(jiǎn)稱多維表或高維表(higher-dimensional tables)# 生成三維頻數(shù)表(列變量為“滿意度”)data1_1-read.csv(C:/mydata/chap01/data1_1.csv)m
25、ytable3-ftable(data1_1,row.vars=c(性別,網(wǎng)購(gòu)次數(shù)),col.vars=滿意度) mytable3# 生成三維頻數(shù)表(列變量為性別和滿意度)mytable4-ftable(data1_1,row.vars=c(網(wǎng)購(gòu)次數(shù)),col.vars=c(性別,滿意度)mytable4 1.4 R 語(yǔ)言數(shù)據(jù)處理 生成頻數(shù)分布表數(shù)值數(shù)據(jù)類別化分組生成數(shù)值數(shù)據(jù)的頻數(shù)分布表時(shí),需要先將其類別化,即轉(zhuǎn)化為類別(因子)數(shù)據(jù),然后再生成頻數(shù)分布表類別化的方法是將原始數(shù)據(jù)分成不同的組別,比如,將一個(gè)班學(xué)生的考試分?jǐn)?shù)分成60以下,6070,7080,8090,90100幾個(gè)區(qū)間,通過分組將
26、數(shù)值數(shù)據(jù)轉(zhuǎn)化成有序類別數(shù)據(jù)類別化后再計(jì)算出各組別的數(shù)據(jù)頻數(shù),即可生成頻數(shù)分布表 1.4 R 語(yǔ)言數(shù)據(jù)處理 生成頻數(shù)分布表數(shù)值數(shù)據(jù)類別化分組【例1-2】(數(shù)據(jù):data1_2.csv)表1-6是一家購(gòu)物網(wǎng)站連續(xù)60天的銷售額數(shù)據(jù)。生成一張頻數(shù)分布表,并計(jì)算各組頻數(shù)的百分比572623620635569621628537639589588537606576516585597708596676678566572547642645585660613523604578689589608644581544599629606661625549543641565580598606686618502564663
27、634590577668611 1.4 R 語(yǔ)言數(shù)據(jù)處理 生成頻數(shù)分布表數(shù)值數(shù)據(jù)類別化分組 1.4 R 語(yǔ)言數(shù)據(jù)處理 生成頻數(shù)分布表數(shù)值數(shù)據(jù)類別化分組其次,確定各組的組距(組的寬度)組距可根據(jù)全部數(shù)據(jù)的最大值和最小值及所分的組數(shù)來確定,即組距(最大值-最小值) 組數(shù)對(duì)于本例數(shù)據(jù),最小值為min(data1_2$銷售額)=502,最大值max(data1_2$銷售額)=708,則組距=(max(data1_2$銷售額)-min(data1_2$銷售額)/7=29.4,因此組距可取30當(dāng)然也可以取組距=50,組距=20等等,使用者根據(jù)分析的需要確定一個(gè)大概數(shù)即可 1.4 R 語(yǔ)言數(shù)據(jù)處理 生成頻數(shù)
28、分布表數(shù)值數(shù)據(jù)類別化分組 1.4 R 語(yǔ)言數(shù)據(jù)處理 生成頻數(shù)分布表數(shù)值數(shù)據(jù)類別化分組使用R基礎(chǔ)安裝包base中的cut函數(shù)可以將數(shù)據(jù)分組函數(shù)中的x是要分組的數(shù)值向量breaks是要分的組數(shù)labels是生成組的標(biāo)簽,默認(rèn)用 (a,b 的間隔表示include.lowest是邏輯值,確定區(qū)間是否包括下限值或上限值right為邏輯值,確定區(qū)間是否包含上限值,默認(rèn)right=TRUE包含上限值dig.lab設(shè)置區(qū)間組使用的數(shù)字位數(shù);ordered_result為邏輯值,設(shè)置結(jié)果是否應(yīng)該是有序因子 1.4 R 語(yǔ)言數(shù)據(jù)處理 生成頻數(shù)分布表數(shù)值數(shù)據(jù)cut 函數(shù)data1_2-read.csv(C:/my
29、data/chap01/data1_2.csv)v-as.vector(data1_2$銷售額) # 將銷售額轉(zhuǎn)化成向量d-table(cut(v,breaks=30*(17:24),right=FALSE,dig.lab=4) # 分成間隔為30的組,上限不封閉,列出頻數(shù)分布表dd-data.frame(d) # 組織成數(shù)據(jù)框# 為頻數(shù)表增加百分比,并重新命名變量percent-round(dd$Freq/sum(dd$Freq)*100,2) # 計(jì)算頻數(shù)百分比,結(jié)果保留2位小數(shù)df-data.frame(dd,percent) # 組織成數(shù)據(jù)框mytable-data.frame(分組=
30、df$Var1,頻數(shù)=df$Freq,頻數(shù)百分比=df$percent) # 重新命名并組織成頻數(shù)分布表mytable # 顯示頻數(shù)分布表 1.4 R 語(yǔ)言數(shù)據(jù)處理 生成頻數(shù)分布表數(shù)值數(shù)據(jù)Freq 函數(shù)data1_2-read.csv(C:/mydata/chap01/data1_2.csv)library(DescTools) # 加載包DescTools# 使用默認(rèn)分組,含上限值tab- Freq(data1_2$銷售額)tab# 使用Freq函數(shù)并生成頻數(shù)分布表,指定組距=20(不含上限值)tab1-Freq(data1_2$銷售額,breaks=c(500,520,540,560,58
31、0,625,600,620,640,660,680,700,720),right=FALSE) # 指定組距=20,不含上限值tab2-data.frame(分組=tab1$level,頻數(shù)=tab1$freq,頻數(shù)百分比=tab1$perc*100,累積頻數(shù)=tab1$cumfreq,累積百分比=tab1$cumperc*100) # 重新命名頻數(shù)表中的變量print(tab2,digits=3) # 用print函數(shù)定義輸出結(jié)果的小數(shù)位數(shù) 1.4 R 語(yǔ)言數(shù)據(jù)處理 數(shù)據(jù)類型的轉(zhuǎn)換將變量轉(zhuǎn)換成向量# 將table1_1中的統(tǒng)計(jì)學(xué)分?jǐn)?shù)、統(tǒng)計(jì)學(xué)分?jǐn)?shù)和數(shù)學(xué)分?jǐn)?shù)、所有課程的分?jǐn)?shù)轉(zhuǎn)換為向量table1
32、_1-read.csv(C:/mydata/chap01/table1_1.csv)vector1-as.vector(table1_1$統(tǒng)計(jì)學(xué)) # 將統(tǒng)計(jì)學(xué)分?jǐn)?shù)轉(zhuǎn)換成向量vector2-as.vector(c(table1_1$統(tǒng)計(jì)學(xué),table1_1$數(shù)學(xué)) # 將統(tǒng)計(jì)學(xué)和數(shù)學(xué)分?jǐn)?shù)合并轉(zhuǎn)換成vector3-as.vector(as.matrix(table1_1,2:4) # 將數(shù)據(jù)框轉(zhuǎn)換為向量vector1;vector2;vector3 # 查看向量 1.4 R 語(yǔ)言數(shù)據(jù)處理 數(shù)據(jù)類型的轉(zhuǎn)換將列聯(lián)表轉(zhuǎn)化成數(shù)據(jù)框data1_1-read.csv(C:/mydata/chap01/data1_1.csv)library(vcd)library(DescTools)mytable3-ftable(data1_1,row.vars=c(性別,網(wǎng)購(gòu)次數(shù)),col.vars=滿意度) df-Untable(mytable3) # 將列聯(lián)表轉(zhuǎn)化成原始數(shù)據(jù)框head(df,3);tail(df,3) # 顯示前3行和后3行Untable(structable(data1_1,directio
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年高校博士研究生教師職務(wù)聘任合同范本3篇
- 二零二五年度跨境電子商務(wù)代理銷售合同6篇
- 二零二五年空壓機(jī)行業(yè)市場(chǎng)推廣與銷售合同3篇
- 二零二五年度儲(chǔ)煤場(chǎng)煤炭?jī)?chǔ)備與智能物流服務(wù)合同3篇
- 2024版土地貸款反擔(dān)保合同范本3篇
- 二零二五年度特殊環(huán)境搬遷及環(huán)保措施合同3篇
- 二零二五版跨境擔(dān)保居間交易合同細(xì)則2篇
- 展會(huì)國(guó)際物流合同(2篇)
- 二零二五版代駕服務(wù)租賃合同范本(含車輛使用限制條款)2篇
- 二零二五版快遞駕駛員職業(yè)發(fā)展規(guī)劃與聘用合同3篇
- 公共政策分析 課件 第8章政策評(píng)估;第9章政策監(jiān)控
- 人教版八年級(jí)上學(xué)期物理期末復(fù)習(xí)(壓軸60題40大考點(diǎn))
- 企業(yè)環(huán)保知識(shí)培訓(xùn)課件
- 2024年度管理評(píng)審報(bào)告
- 暨南大學(xué)《微觀經(jīng)濟(jì)學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 醫(yī)藥銷售合規(guī)培訓(xùn)
- DB51-T 5038-2018 四川省地面工程施工工藝標(biāo)準(zhǔn)
- 三年級(jí)數(shù)學(xué)(上)計(jì)算題專項(xiàng)練習(xí)附答案
- GB/T 12723-2024單位產(chǎn)品能源消耗限額編制通則
- 2024年廣東省深圳市中考英語(yǔ)試題含解析
- GB/T 16288-2024塑料制品的標(biāo)志
評(píng)論
0/150
提交評(píng)論