《R語言實戰》第一二章總結
第一章總結
書本第一章大概的介紹了一下R語言,簡單描述了R的獲取、安裝,在R的使用中,介紹了幫助函數、工作空間及管理工作空間的函數和R的輸入及輸出,同時介紹了包的安裝、載入和使用。批處理這邊沒看太懂,等以後用到再去詳細了解吧。
- 幫助函數
2.管理工作空間的函數
3.輸入和輸出
4.包
第二章總結
第二章大致介紹了幾種存儲數據的數據結構和將數據輸入、導入其中的方法。
- 創建數據集
2.因子
名義型和有序行變數被稱為因子。
factor()以一個整數向量的形式存儲類別值,取值範圍是[1...k],k為名義型變數中唯一值的個數,同時一個由字元串組成的內部向量將映射到這些整數上。
status <- c("Poor","Improved","Excellent","Poor")diabetes <- factor(status,ordered=TRUE,levels=c("Poor","Improved","Excellent")#將向量存儲為(1,2,3,1)
數值型變數可用levels和labels參數來編碼成因子。若男性被編碼為1,女性被編碼為2,則:
sex <- factor(sex,levels=c(1,2),labels=c("Male","Female"))
3.數據的輸入
(1)鍵盤輸入
利用edit()函數調用一個手動輸入數據的文本編輯器。如果不將其賦值到一個目標,所有的修改會全部丟失。
mydata <- edit(mydata) #等價於fix(mydata)
(2)從帶分隔符的文本文件導入數據
grades <- read.table("studentgrades.csv",header=TRUE,row.names="StudentID",sep=",",stringAsFactors=FALSE,colClasses=c("character","character","character","numeric","numeric","numeric")
(3)導入Excel數據
依賴Java的包:xlsxjars和rJava包,XLConnect包
不依賴Java的包:openxlsx包
導入數據的時候哇,遇到了一丟丟的問題:
上圖所示,在輸入路徑時,它把「」讀成了轉義字元,再加個「」就可以輸出了。結果還是自己蠢,在R的路徑里用的是正斜杠!正斜杠!正斜杠!(4)以及(n)
不常用到就不寫了...用到的時候再翻書查閱資料吧。
一個實踐的小例子:
導入病人數據,並分析病人數量以及患Ⅰ 型糖尿病的人數。
導入數據
library(openxlsx)mydataframe <- read.xlsx("E:\Data\Second\SickData.xlsx",1)
總病人數量
number_all <- nrow(mydataframe)
患Ⅰ 型糖尿病的人數
type1 <- mydataframe[mydataframe$糖尿病類型=="1型糖尿病",]number_1 <- nrow(type1)
繪圖
y <- c(as.double(number_1),as.double(number_all))barplot(y,width = 0.1,legend = c("Ⅰ 型糖尿病","總病人"),col = c("gray","black"),xlab = "病人",ylab = "數量")
最終結果如下圖所示:
最後這個圖吧,就是丑了很多,而且圖例的位置我嘗試了很多次都沒能改變它的位置,天色不早,我先保存,等以後會改變了,我再回來改一改。
在給y賦值時,由於number_all和number_1不是數值類型的元素,導致一開始繪圖出錯,錯誤顯示為
Error in -0.01 * height : non-numeric argument to binary operator
於是上網搜了一下數據類型轉換,搜到了as.double(x),用了一下,果然就畫出來了。就是最後結果有點醜醜丑...
我的版本好像是3.3.2?...
推薦閱讀:
※我是如何使用ggplot2和gcookbook製作數據圖的?
※初探密碼破譯:Metropolis-Hastings演算法破解密文
※ggmap:使用ggplot2進行空間可視化繪圖(上篇)
※MySQL入門及其與R的交互
※大連市2016年空氣質量數據可視化
TAG:R |