R語言學習筆記(R物件和資料組織)

2021-08-07 16:24:43 字數 4400 閱讀 5209

基本函式:

search()瀏覽已載入包的名稱

library()檢視包的功能說明

library(help=)瀏覽指定包中的函式

library(包名稱)載入指定包到工作空間

help.start()啟動r的幫助文件

help(函式名)

help.search()瀏覽包含指定字串的函式的幫助文件

detach(package:包名稱)從工作空間解除安裝指定包

installpackages()安裝包

update.packages()更新包

new.packages()顯示尚未安裝的新包列表

getwd()獲取當前工作目錄

setwd()設定當前工作目錄

source()執行指定程式

sink(「結果檔名」)控制台輸出儲存到指定結果檔案

r資料物件,向量,矩陣,陣列,資料框,列表

檢視資料物件的結構:str(物件名)

管理資料物件ls()

刪除工作空間物件rm(物件名或物件列表)

is.(vector,factor,matrix,array,list),判斷

建立向量函式c

重複函式:rep(起始值:終止值,each=重複次數)排列重複,rep(起始值:終止值,time=重複次數)迴圈重複

序列:sep(from=,to=,by=/length=)

鍵盤輸入scan()

建立指定長度的向量vector(length=)

訪問指定位置元素xx[c()],向量名[位置向量]

訪問元素之外的元素xx[-c()]

矩陣操作

cbind(向量名列表)按列組塊,同理rbind()

dim(),colnames(矩陣名或矩陣指定列),rownames(矩陣名或矩陣指定列)

matrix(向量名,nrow=,ncol=,byrow=t/f,dimnames=list(行名錶,列名表))

head(),tail()

fix()視窗編輯訪問矩陣

資料框:

data.frame(網域名稱n=向量n)

names(資料框名)顯示各個網域名稱

資料框$網域名稱

attach(資料框名),detach(資料框名),繫結和解綁資料框(可直接引用網域名稱)

with(資料框名,)({}內的物件均為區域性物件)

修改資料框:

資料框名<- within(資料框名,)({}內的物件均為區域性物件)

陣列:

array(向量名,維度說明,dimnames=list(維名稱列表))

訪問陣列:陣列名[行號,列號,錶號]

列表:

list(成分名n=物件名n)

names(列表名)顯示成分名

訪問列表:列表名$成分名

儲存型別:

is.儲存型別名(資料物件)numeric,integer,double,character,logical

檢視儲存型別;typeof(資料物件)

型別轉換:as.儲存型別名(資料物件)

*型別轉換會影響精度,邏輯型只能通過0,1轉換

因子:

levels(因子名),nlevels(因子名),分別取水平值和水平數

factor(向量名,order=t/f,levels=c(類別列表值))

建立因子:gl(水平個數,水平出現次數)

資料管理:

讀取文字到向量:scan(file=「檔名」,skip=行數,what=儲存型別轉換函式())

讀取文字到資料框;read.table(file=「檔名」,header=t/f,sep=「資料分隔符」,stringasfactors=t/f)讀入是文字字串自動轉換因子,並按字母排序比較耗時

網頁資料:

library(「xml」)

url <- **

資料 <- readhtmltable(**)

str(資料)顯示列表結構資訊

網頁內容被視為字元讀入列表,列表成分均為因子

資料儲存

包分類:數學,統計,概率,字串,資料管理,檔案管理

整除%/%,求餘數:%%包含:%in%

數學函式:

abs(),sqrt(),ceiling(),floor(),trunc(),round(x,digits=n),signif(x,digits=n),sin,cos,tan,log(x,base=n),log(),exp()

概率函式:

dnorm(x,mean=,sd=)密度值

pnorm(x,mena=,sd=)累計概率

dnorm(p,mean=,sd=)分位值

rnorm(x,mean=,sd=)生成隨機數,set.seed(123)設定種子保證隨機數重現

分布;

bate,binom(),cauchy(),chisq(),exp(),f(),gamma(),geom(),lnorm(),logis(),multinom()nbinom(),norm,posi,signrank(),t,unif(),weibull()

統計函式:

mean(),median(),sd(),var(),range()取值範圍,max(),length(0,min(),sum(),cumsum(),sumprod()cummax(),cumin()prod()

quantile(x,probs)probs*(n-1)+1求x在probs的分位值

cut(x,n)將x分成n組

scale(x)x標準化處理,減去均值除以其標準差

diff(x,lag=n)x的n項差分

rank(x)x的秩,公升序的順序,同名次求平均

cor(x1,x2)

cov(x1,x2)

矩陣運算函式:

矩陣乘法;%*%

diag(n)行列為n的單位陣

diag(x)建立正對角元素取x向量的矩陣

diag(x)訪問矩陣x的正對角元素

t(x)矩陣x轉置

solve(x)求逆矩陣

eigen(x)求特徵值和特徵向量

det()求行列式

lower/upper.tri(x,diag=t/f)取上下三角部分,包括或不包括正對角

outer(x,y,fun=)計算外積指定運算子或函式名

字串函式:

nchar(),substr(x,n,m)取x中n至m的字串

grep(p,x)計算p出現在x的第幾個元素中,p可以為正規表示式『.』代表乙個字元『*』代表0或多個

gsub(p,a,x)將x中的p替換為a,p可以是正則

strsplit(x,s)以s為分隔符分割x

paste(x,y,sep=s)以s為分隔符連線x,y

toupper(),tolower()大小寫轉換

資料管理函式:

unique(x)x為向量或者資料框

sort(x,decreasing=false)返回排列之後的結果

order(x,decreasing=false)返回排序後的下標

rev(x)倒敘

which(條件表示式)返回滿足條件的數值

which.min/max(x)返回最大最小值首次出現的位置

table(x)返回x的頻數分布表

table(x1,x2)返回列聯表

colsums(x)colmeans(x)計算矩陣或資料框的列合計和均值(數值型)行同理

aggregate(x,by=list(g1,g2),fun=)按g1,g2交叉分組對資料框x計算指定函式

merge(x1,x2,by=」關鍵字」)依據關鍵字合併資料框,並按關鍵字排序

subset(x,關係表示式)提取資料框x中關係表示式為真的資料子集

sample(x,size=n,prob=c(),replace=t/f)按入樣概率在向量x中有放回或無放回的抽取n個樣本

邏輯判斷函式:

is.na(x)判斷向量x中是否有缺失值

is.nan(x)

complete.cases(x)判斷資料框向量矩陣x觀測值是否完整(不包含na,nan)

is.unsorted(x)判斷是否排序

any(邏輯向量x)是否至少有乙個元素取true

x%in%y 判斷向量x的元素是否在向量y中

R語言學習筆記

1.資料輸入 read.table n fileposition 函式 eg.x read.table c users administrator desktop 1.txt header t 目前只知道可以完好地讀入txt檔案 空格隔開 excel不支援 csv讀入不完全。ps.可以用excel生...

R語言學習筆記

二 data.frame資料框的常用操作 三 讀取資料檔案 四 排序函式 sort,rank,order 的區別 mydata tid s1 s2 1 1 2 1 2 1 2 1 3 1 3 2 4 2 4 3 5 3 5 4 unique mydata tid s1 s2 1 1 2 1 3 1 ...

R語言學習筆記

r語言的特點 r網路資源 常用命令 安裝某個包 install.packages alr4 檢視函式用法 比如要實現t檢驗,可以輸入?t.test 然後重點看usage和example。也可以用help t.test lm函式名及所在包 fitting linear models標題 descrip...