image.png
-
幫助與基礎
- help(topic) 查看關于topic的幫助文檔
- ?topic 同上
- help.search("topic") 搜索幫助文檔
- apropos("topic") 返回在搜索路徑下包含(部分)關鍵詞“topic”的所有對象名稱
- help.start() HTML形式的幫助
- demo() R功能演示
- example(f) 運行在線幫助中的示例
- str(a) 顯示R對象的內在屬性或簡要說明對象
- summary(a) 給出a的概要锐锣,通常是一個一般性統計概要雕憔,且它對不同屬性的a有不同的操作方式
- ls() 顯示搜索路徑下的對象斤彼,也可按指定條件搜索
- ls.str() str()搜索路徑下的每個變量與其屬性
- dir() 顯示當前目錄下的文件
- list.files() 同上
- getwd() 獲得工作路徑
- setwd() 設置工作路徑
- methods(a) 顯示a的“S3 methods”
- methods(classs=class(a)) 列表所有可以解決屬于對象類的方法
- options() 設置或檢驗全局參數琉苇,常用參數有:width并扇,digits穷蛹,error
- install.packages(pkg)安裝pkg包
- update.packages() 自動比對包版本肴熏,并詢問更新
- library(pkg) 加載pkg包
- require(pkg) 同上
- library(help=pkg) 展示包pkg的信息
- attach(x) 將x指向R的搜索路徑扮超,x可以是一個列表蹋肮,數據框坯辩,或者是由save創(chuàng)建的R data file漆魔。使用search() 來顯示搜索路徑
- detach(x) attach的逆過程
- assign(x, value) 將value賦值給x,即"<-"
-
quit() 退出當前R會話(q()或Ctrl_z)
幫助與基礎.png
-
輸入與輸出
- load() 加載由save命令得到的資料集
- data(x) 加載指定的數據集
- edit() 調用文本編輯器修改R對象
- fix(x) fix調用edit修改x
- data.entry(x) 電子數據表形式的錄入編輯器
- scan(x) 從控制臺或文件中讀取數據為向量或列表
- read.table(file) 讀取表格形式的文件并將其創(chuàng)建成數據框系瓢,默認分隔符sep=“”為任意空白夷陋,使用header=TRUE讀取第一行作為列標題骗绕,使用as.is=TRUE防止字符向量變?yōu)閒actors资昧,使用comment.char=""防止“#”被解釋為注釋格带,使用skip=n在讀取數據前跳過n行
- read.csv("filename",header=TRUE) 同上践惑,但默認設置為讀取csv文件
- read.delim("filename",header=TRUE) 同上尔觉,默認設置為讀取tab分割文件
- read.fwf(file, widths, header=F, sep="\t", as.is=F) 以fixed width formatted形式讀取數據至數據框,widths是整數向量专甩,用于設置調整寬度字段
- save(file, ...) 以不分平臺的二進制保存指定的對象
- save.image(file) 保存所有的對象
- dump("x", "...") 將對象x保存在“..."里
- cat(..., file="", sep="") 強制轉化為字符后打印對象的賦值涤躲,sep為對象賦值間的分隔符號
- print(a, ...) 顯示a的賦值种樱,他對不同的對象可以有不同的表達方式
- format(x, ...) 格式化嫩挤,更好地顯示R對象
- write.table(x,file="",row.names=T, col.names=T,sep="") 把x轉化為數據框并寫入文件中岂昭,如果quote為TRUE约啊,字符和因子列就會被“所包圍,sep是字符分隔符记盒,eol為尾行分隔符孽鸡,na為缺失值字符串栏豺,使用col.names=NA增加列標題以便于和表格輸入一致
-
sink(file) 輸入到文件file奥洼,直到輸入命令sink()
輸入與輸出.png
-
數據創(chuàng)建
- c(...) 創(chuàng)建一個向量
- from:to 產生一個序列
- seq(from, to, by=) 產生一個序列灵奖,by=指定序列間距
- rep(x, times, each=) 重復x times次估盘,使用each=來指定元素x重復的次數
- data.frame(...) 創(chuàng)建一個數據庫
- list(...) 創(chuàng)建一個由變量組成的列表遣妥,變量可被命名或不被命名
- matrix(x, nrow=, ncol=) 創(chuàng)建一個矩陣
- array(x, dim=) 產生一個由x組成的數組
- factor(x, levels=) 把向量x轉換為因子
- gl(n, k, length=n*k, labels=1:n) 通過指定水平方式產生水平因子箫踩,k為水平的個數,n為重復的次數
- rbind(...) 以行的形式組合矩陣或數據框
-
cbind(...) 以列的形式組合矩陣或數據框
數據創(chuàng)建.png
-
數據分割和選取
-
向量索引
- x[n] 選取向量x中的第n個元素
- x[-n] 除去第n個元素外的x
- x[1:n] 前n個元素
- x[-(1:n)] 第n+1至最后的元素
- x[c(1,2,4)] 指定第1,2慨削,4個元素
- x[x>3] 所有大于3的元素
- x[x>3 & x<6] 獲取區(qū)間(3缚态,6)的元素
- x[x %in% c("a,""and","the")] 選取給定組中的元素
-
矩陣索引
- x[i,j] 下標為(i,j)的元素
- x[i, ] 第i行
- x[ ,j] 第j列
- x[ ,c(1,3)] 第1和3列
- x["name", ] 名為“name“的列
-
數據庫索引
- x[["name"]] 列名為”name”的列
- x$name 同上
-
列表索引
- x[n] 列表顯示元素n
- x[[n]] 列表的第n個元素
- x[["name"]] 名為“name”的元素
-
x$name 同上
數據分割和選取.png
-
-
變量類型轉換
-
as.numeric(x)衷快,as.character(x)蘸拔,as.logical(x),as.array(x)宝冕,as.matrix()邓萨,as.data.frame()等
變量類型轉換.png
-
-
變量信息
- is.na(x)宝剖,is.null(x)歉甚,is.numeric(x)纸泄,is.charactoer(x),is.matrix(x)雪营,is.data.frame(x)献起,is.array(x)等
- length(x) 獲取x中元素的個數
- dim(x) 獲取或重新設置對象x的維數
- dimnames(x) 重新設置對象x的名稱
- nrow(x) 返回行的個數
- ncol(x) 返回列的個數
- class(x) 獲取或設置x的類
- unclass(x) 刪除x的類
- names(x) 查看或設置對象x的名稱
- unname(x) 刪除x的名稱
- unlist(x) 將列表x轉換為向量
- attr(x, which) 得到或設置x的屬性類型which
-
attributes(obj) 得到或設置obj的屬性列表
變量信息.png
-
數據選擇和操作
- which.max(x) 返回x中最大元素的索引
- which.min(x) 返回x中最小元素的索引
- rev(x) 顛倒x中所有的元素
- sort(x) 升序排列x中的元素征唬,降序排列使用rev(sort(x))
- cut(x, breaks) 將x中的元素分割成幾段总寒,breaks指定分割的段數或分割點向量
- match(x, y) 返回一個和x相同長度且和y中元素相等的向量摄闸,不等的元素返回NA
- which(x == a) 如果比較操作為真年枕,則返回向量x的索引
- sign(x) 判斷變量是否大于0熏兄,大于返回“1”,小于返回“-1”桥状,等于返回“0”
- na.omit(x) 去除缺失值NA, 如果x為矩陣或數據框辅斟,則去除相關行
- unique(x) 如果x為向量或數據框士飒,返回唯一值
- duplicated(x) 返回向量或數據框x 重復元素的邏輯值
- table(x) 返回一個由x中不同值個數組成的表格
- sample(x, size) 不放回的隨機在向量x中抽取size個元素酵幕,選項replace=T允許放回抽取
- subset(x, ...) 根據條件選取子集
-
prop.table(x , margin=) 根據margin使用分數表示表格缓苛,無margin時他嫡,所有元素和為1
數據選擇和操作.png
-
數學
- max(x) 返回x中的最大值
- min(x) 返回x中的最小值
- mean(x) 返回x的平均值
- median(x) 返回x的中位數
- sum(x) x中元素的加和
- abs(x) 返回x的絕對值
- range(x) 返回x中最小值至最大值的范圍
- quantile(x, probs=) 計算樣本分位數钢属,默認為0, 0.25, 0.5, 0.75, 1
- IQR(x) 返回數據中間50%的區(qū)間
- var(x) 計算x的方差
- sd(x) 計算x的標準差
- sqrt(x) 計算x的平方根
- cor(x) 計算矩陣或數據框x的相關陣
- var(x, y) 計算x和y之間的協方差
- cor(x, y) 計算x和y之間的線性相關系數或相關陣
- round(x, n) 返回x的約數淆党,精確到n位
- log(x, base) 計算x以base為底的對數
- scale(x) 如果x是一個矩陣染乌,則中心化和標準化數據荷憋,默認center=T, scale=T勒庄;若只標準化瘫里,則使用center=F,若只中心化谨读,則使用scale=F。
- cumsum(x) 返回x的累加和
- union(x, y) 取x和y的并集
- intersect(x, y) 取x和y的交集
- setdiff(x, y) 取x和y的差集
-
filter(x, filter) 根據特定條件進行過濾
數學.png
-
矩陣
- t(x) 轉置
- diag(x) 對角陣
- eigen(x) 計算矩陣的特征根和特征向量
- dist(x) 計算矩陣x行間的距離
- solve(x) 計算矩陣的逆
- rowsum(x)或rowSums(x) 求矩陣對象的行加和
- colsum(x) 或colSums(x) 求矩陣對象的列加和
- rowMeans(x) 求行平均值
-
colMeans(x) 求列平均值
矩陣.png
-
高級數據處理
- apply(x, index, fun=) 根據數組下標index應用函數fun返回向量,數組或列表的值
- lapply(x, fun=) 應用fun函數到列表x的每個元素
- tapply(x, index, fun=) 根據x的索引index對不完全的數列應用函數fun
- sapply(x, fun=) 同lapply女坑,比之更好
- by(data, index, fun=) 應用函數fun處理數據框data中由index定義的子集
- merge(a, b) 根據共有的列或行名把兩個數據框合并
- aggregate(x, by, fun=) 將數據框x分割為幾個子集匆骗,且計算各個子集的概要統計誉简,并以合適的方式返回結果闷串,by是分組元素列表
- reshape(x, ...) 對“wide”和“l(fā)ong“格式數據框進項轉換
- expression(expr) 創(chuàng)建或檢驗對象是否為“表達(expression)”形式
-
eval(expr) 在指定的環(huán)境下計算R表達式
高級數據處理.png
-
字符
- paste(...) 轉化為字符后連接向量烹吵,sep=為分隔符
- substr(x, start, end) 提取字符向量的子字段
- strsplit(x, split) 根據split的位置分割x
- grep(pattern, x) 根據pattern模式進行匹配和替換
- gsub(pattern, replacement, x) 全局替換滿足正則表達式模式的字段
- nchar(x) 返回字符的個數
- tolower(x) 將字母轉換為小寫
- toupper(x) 將字母轉換為大寫
- match(x, table) 返回table中匹配x元素位置組成的向量
-
x %in% table 同上
字符.png