真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

r語(yǔ)言c函數(shù) r語(yǔ)言中c函數(shù)

R語(yǔ)言常用函數(shù)整理(基礎(chǔ)篇)

R語(yǔ)言常用函數(shù)整理本篇是基礎(chǔ)篇,即R語(yǔ)言自帶的函數(shù)。

創(chuàng)新互聯(lián)公司2013年成立,先為丹寨等服務(wù)建站,丹寨等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為丹寨企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問(wèn)題。

vector:向量

numeric:數(shù)值型向量

logical:邏輯型向量

character;字符型向量

list:列表

data.frame:數(shù)據(jù)框

c:連接為向量或列表

length:求長(zhǎng)度

subset:求子集

seq,from:to,sequence:等差序列

rep:重復(fù)

NA:缺失值

NULL:空對(duì)象

sort,order,unique,rev:排序

unlist:展平列表

attr,attributes:對(duì)象屬性

mode,class,typeof:對(duì)象存儲(chǔ)模式與類型

names:對(duì)象的名字屬性

字符型向量 nchar:字符數(shù)

substr:取子串 format,formatC:把對(duì)象用格式轉(zhuǎn)換為字符串

paste()、paste0()不僅可以連接多個(gè)字符串,還可以將對(duì)象自動(dòng)轉(zhuǎn)換為字符串再相連,另外還能處理向量。

strsplit:連接或拆分

charmatch,pmatch:字符串匹配

grep,sub,gsub:模式匹配與替換

complex,Re,Im,Mod,Arg,Conj:復(fù)數(shù)函數(shù)

factor:因子 codes:因子的編碼 levels:因子的各水平的名字 nlevels:因子的水平個(gè)數(shù) cut:把數(shù)值型對(duì)象分區(qū)間轉(zhuǎn)換為因子

table:交叉頻數(shù)表 split:按因子分組 aggregate:計(jì)算各數(shù)據(jù)子集的概括統(tǒng)計(jì)量 tapply:對(duì)“不規(guī)則”數(shù)組應(yīng)用函數(shù)

dev.new() 新建畫板

plot()繪制點(diǎn)線圖,條形圖,散點(diǎn)圖.

barplot( ) 繪制條形圖

dotchart( ) 繪制點(diǎn)圖

pie( )繪制餅圖.

pair( )繪制散點(diǎn)圖陣

boxplot( )繪制箱線圖

hist( )繪制直方圖

scatterplot3D( )繪制3D散點(diǎn)圖.

par()可以添加很多參數(shù)來(lái)修改圖形

title( ) 添加標(biāo)題

axis( ) 調(diào)整刻度

rug( ) 添加軸密度

grid( ) 添加網(wǎng)格線

abline( ) 添加直線

lines( ) 添加曲線

text( ) 添加標(biāo)簽

legend() 添加圖例

+, -, *, /, ^, %%, %/%:四則運(yùn)算 ceiling,floor,round,signif

1、round() #四舍五入

例:x - c(3.1416, 15.377, 269.7)

round(x, 0) #保留整數(shù)位

round(x, 2) #保留兩位小數(shù)

round(x, -1) #保留到十位

2、signif() #取有效數(shù)字(跟學(xué)過(guò)的有效數(shù)字不是一個(gè)意思)

例:略

3、trunc() #取整

floor() #向下取整

ceiling() #向上取整

例:xx - c(3.60, 12.47, -3.60, -12.47)

trunc(xx)

floor(xx)

ceiling(xx)

max,min,pmax,pmin:最大最小值

range:最大值和最小值 sum,prod:向量元素和,積 cumsum,cumprod,cummax,cummin:累加、累乘 sort:排序 approx和approx fun:插值 diff:差分 sign:符號(hào)函數(shù)

abs,sqrt:絕對(duì)值,平方根

log, exp, log10, log2:對(duì)數(shù)與指數(shù)函數(shù)

sin,cos,tan,asin,acos,atan,atan2:三角函數(shù)

sinh,cosh,tanh,asinh,acosh,atanh:雙曲函數(shù)

beta,lbeta,gamma,lgamma,digamma,trigamma,tetragamma,pentagamma,choose ,lchoose:與貝塔函數(shù)、伽瑪函數(shù)、組合數(shù)有關(guān)的特殊函數(shù)

fft,mvfft,convolve:富利葉變換及卷積

polyroot:多項(xiàng)式求根

poly:正交多項(xiàng)式

spline,splinefun:樣條差值

besselI,besselK,besselJ,besselY,gammaCody:Bessel函數(shù)

deriv:簡(jiǎn)單表達(dá)式的符號(hào)微分或算法微分

array:建立數(shù)組

matrix:生成矩陣

data.matrix:把數(shù)據(jù)框轉(zhuǎn)換為數(shù)值型矩陣

lower.tri:矩陣的下三角部分

mat.or.vec:生成矩陣或向量

t:矩陣轉(zhuǎn)置

cbind:把列合并為矩陣

rbind:把行合并為矩陣

diag:矩陣對(duì)角元素向量或生成對(duì)角矩陣

aperm:數(shù)組轉(zhuǎn)置

nrow, ncol:計(jì)算數(shù)組的行數(shù)和列數(shù)

dim:對(duì)象的維向量

dimnames:對(duì)象的維名

rownames,colnames:行名或列名

%*%:矩陣乘法

crossprod:矩陣交叉乘積(內(nèi)積)

outer:數(shù)組外積

kronecker:數(shù)組的Kronecker積

apply:對(duì)數(shù)組的某些維應(yīng)用函數(shù)

tapply:對(duì)“不規(guī)則”數(shù)組應(yīng)用函數(shù)

sweep:計(jì)算數(shù)組的概括統(tǒng)計(jì)量

aggregate:計(jì)算數(shù)據(jù)子集的概括統(tǒng)計(jì)量

scale:矩陣標(biāo)準(zhǔn)化

matplot:對(duì)矩陣各列繪圖

cor:相關(guān)陣或協(xié)差陣

Contrast:對(duì)照矩陣

row:矩陣的行下標(biāo)集

col:求列下標(biāo)集

solve:解線性方程組或求逆

eigen:矩陣的特征值分解

svd:矩陣的奇異值分解

backsolve:解上三角或下三角方程組

chol:Choleski分解

qr:矩陣的QR分解

chol2inv:由Choleski分解求逆

,,=,=,==,!=:比較運(yùn)算符 !,,,|,||,xor():

邏輯運(yùn)算符 logical:

生成邏輯向量 all,

any:邏輯向量都為真或存在真

ifelse():二者擇一 match,

%in%:查找

unique:找出互不相同的元素

which:找到真值下標(biāo)集合

duplicated:找到重復(fù)元素

optimize,uniroot,polyroot:一維優(yōu)化與求根

if,else,

ifelse,

switch:

分支 for,while,repeat,break,next:

循環(huán) apply,lapply,sapply,tapply,sweep:替代循環(huán)的函數(shù)。

function:函數(shù)定義

source:調(diào)用文件 ’

call:函數(shù)調(diào)用 .

C,.Fortran:調(diào)用C或者Fortran子程序的動(dòng)態(tài)鏈接庫(kù)。

Recall:遞歸調(diào)用

browser,debug,trace,traceback:程序調(diào)試

options:指定系統(tǒng)參數(shù)

missing:判斷虛參是否有對(duì)應(yīng)實(shí)參

nargs:參數(shù)個(gè)數(shù) stop:終止函數(shù)執(zhí)行

on.exit:指定退出時(shí)執(zhí)行 eval,expression:表達(dá)式計(jì)算

system.time:表達(dá)式計(jì)算計(jì)時(shí)

invisible:使變量不顯示

menu:選擇菜單(字符列表菜單)

其它與函數(shù)有關(guān)的還有:

delay,

delete.response,

deparse,

do.call,

dput,

environment ,

formals,

format.info,

interactive,

is.finite,

is.function,

is.language,

is.recursive ,

match.arg,

match.call,

match.fun,

model.extract,

name,

parse 函數(shù)能將字符串轉(zhuǎn)換為表達(dá)式expression

deparse 將表達(dá)式expression轉(zhuǎn)換為字符串

eval 函數(shù)能對(duì)表達(dá)式求解

substitute,

sys.parent ,

warning,

machine

cat,print:顯示對(duì)象

sink:輸出轉(zhuǎn)向到指定文件

dump,save,dput,write:輸出對(duì)象

scan,read.table,readlines, load,dget:讀入

ls,objects:顯示對(duì)象列表

rm, remove:刪除對(duì)象

q,quit:退出系統(tǒng)

.First,.Last:初始運(yùn)行函數(shù)與退出運(yùn)行函數(shù)。

options:系統(tǒng)選項(xiàng)

?,help,help.start,apropos:幫助功能

data:列出數(shù)據(jù)集

head()查看數(shù)據(jù)的頭幾行

tail()查看數(shù)據(jù)的最后幾行

每一種分布有四個(gè)函數(shù):

d―density(密度函數(shù)),p―分布函數(shù),q―分位數(shù)函數(shù),r―隨機(jī)數(shù)函數(shù)。

比如,正態(tài)分布的這四個(gè)函數(shù)為dnorm,pnorm,qnorm,rnorm。下面我們列出各分布后綴,前面加前綴d、p、q或r就構(gòu)成函數(shù)名:

norm:正態(tài),

t:t分布,

f:F分布,

chisq:卡方(包括非中心)

unif:均勻,

exp:指數(shù),

weibull:威布爾,

gamma:伽瑪,

beta:貝塔

lnorm:對(duì)數(shù)正態(tài),

logis:邏輯分布,

cauchy:柯西,

binom:二項(xiàng)分布,

geom:幾何分布,

hyper:超幾何,

nbinom:負(fù)二項(xiàng),

pois:泊松

signrank:符號(hào)秩,

wilcox:秩和,

tukey:學(xué)生化極差

sum, mean, var, sd, min, max, range, median, IQR(四分位間距)等為統(tǒng)計(jì)量,

sort,order,rank與排序有關(guān),

其它還有ave,fivenum,mad,quantile,stem等。

R中已實(shí)現(xiàn)的有chisq.test,prop.test,t.test。

cor,cov.wt,var:協(xié)方差陣及相關(guān)陣計(jì)算

biplot,biplot.princomp:多元數(shù)據(jù)biplot圖

cancor:典則相關(guān)

princomp:主成分分析

hclust:譜系聚類

kmeans:k-均值聚類

cmdscale:經(jīng)典多維標(biāo)度

其它有dist,mahalanobis,cov.rob。

ts:時(shí)間序列對(duì)象

diff:計(jì)算差分

time:時(shí)間序列的采樣時(shí)間

window:時(shí)間窗

lm,glm,aov:線性模型、廣義線性模型、方差分析

quo()等價(jià)于quote()

enquo()等價(jià)于substitute()

R語(yǔ)言中的函數(shù)c中的c代表什么意思

c本身在這里應(yīng)該是“combine”的首字母,用于合并一系列數(shù)字從而形成向量/數(shù)列。

R語(yǔ)言常用函數(shù)(基本)

vector:向量 numeric:數(shù)值型向量 logical:邏輯型向量 character;字符型向量 list:列表 data.frame:數(shù)據(jù)框

c:連接為向量或列表 sequence:等差序列 rep:重復(fù)

length:求長(zhǎng)度 subset:求子集 seq,from:to, NA:缺失值 NULL:空對(duì)象 sort,order,unique,rev:排序 unlist:展平列表 attr,attributes:對(duì)象屬性

mode,typeof:對(duì)象存儲(chǔ)模式與類型 names:對(duì)象的名字屬性

character:字符型向量 nchar:字符數(shù) substr:取子串 format,formatC:把對(duì)象用格式轉(zhuǎn)換為字符串 paste,strsplit:連接或拆分

charmatch,pmatch:字符串匹配 grep,sub,gsub:模式匹配與替換

complex,Re,Im,Mod,Arg,Conj:復(fù)數(shù)函數(shù)

factor:因子 codes:因子的編碼 levels:因子的各水平的名字 nlevels:因子的水平個(gè)數(shù) cut:把數(shù)值型對(duì)象分區(qū)間轉(zhuǎn)換為因子

table:交叉頻數(shù)表 split:按因子分組 aggregate:計(jì)算各數(shù)據(jù)子集的概括統(tǒng)計(jì)量 tapply:對(duì)“不規(guī)則”數(shù)組應(yīng)用函數(shù)

+, -, *, /, ^, %%, %/%:四則運(yùn)算 ceiling,floor,round,signif,trunc,zapsmall:舍入 max,min,pmax,pmin:最大最小值

range:最大值和最小值 sum,prod:向量元素和,積 cumsum,cumprod,cummax,cummin:累加、累乘 sort:排序 approx和approx fun:插值 diff:差分 sign:符號(hào)函數(shù)

abs,sqrt:絕對(duì)值,平方根 log, exp, log10, log2:對(duì)數(shù)與指數(shù)函數(shù) sin,cos,tan,asin,acos,atan,atan2:三角函數(shù)

sinh,cosh,tanh,asinh,acosh,atanh:雙曲函數(shù)

beta,lbeta,gamma,lgamma,digamma,trigamma,tetragamma,pentagamma,choose ,lchoose:與貝塔函數(shù)、伽瑪函數(shù)、組合數(shù)有關(guān)的特殊函數(shù)

fft,mvfft,convolve:富利葉變換及卷積 polyroot:多項(xiàng)式求根 poly:正交多項(xiàng)式 spline,splinefun:樣條差值

besselI,besselK,besselJ,besselY,gammaCody:Bessel函數(shù) deriv:簡(jiǎn)單表達(dá)式的符號(hào)微分或算法微分

array:建立數(shù)組 matrix:生成矩陣 data.matrix:把數(shù)據(jù)框轉(zhuǎn)換為數(shù)值型矩陣 lower.tri:矩陣的下三角部分 mat.or.vec:生成矩陣或向量 t:矩陣轉(zhuǎn)置

cbind:把列合并為矩陣 rbind:把行合并為矩陣 diag:矩陣對(duì)角元素向量或生成對(duì)角矩陣 aperm:數(shù)組轉(zhuǎn)置 nrow, ncol:計(jì)算數(shù)組的行數(shù)和列數(shù) dim:對(duì)象的維向量

dimnames:對(duì)象的維名 row/colnames:行名或列名 %*%:矩陣乘法 crossprod:矩陣交叉乘積(內(nèi)積) outer:數(shù)組外積 kronecker:數(shù)組的Kronecker積

apply:對(duì)數(shù)組的某些維應(yīng)用函數(shù) tapply:對(duì)“不規(guī)則”數(shù)組應(yīng)用函數(shù) sweep:計(jì)算數(shù)組的概括統(tǒng)計(jì)量 aggregate:計(jì)算數(shù)據(jù)子集的概括統(tǒng)計(jì)量 scale:矩陣標(biāo)準(zhǔn)化

matplot:對(duì)矩陣各列繪圖 cor:相關(guān)陣或協(xié)差陣 Contrast:對(duì)照矩陣 row:矩陣的行下標(biāo)集 col:求列下標(biāo)集

solve:解線性方程組或求逆 eigen:矩陣的特征值分解 svd:矩陣的奇異值分解 backsolve:解上三角或下三角方程組 chol:Choleski分解

qr:矩陣的QR分解 chol2inv:由Choleski分解求逆

,,=,=,==,!=:比較運(yùn)算符 !,,,|,||,xor():邏輯運(yùn)算符 logical:生成邏輯向量 all,any:邏輯向量都為真或存在真

ifelse():二者擇一 match,%in%:查找 unique:找出互不相同的元素 which:找到真值下標(biāo)集合 duplicated:找到重復(fù)元素

optimize,uniroot,polyroot:一維優(yōu)化與求根

if,else,ifelse,switch:分支 for,while,repeat,break,next:循環(huán) apply,lapply,sapply,tapply,sweep:替代循環(huán)的函數(shù)。

function:函數(shù)定義 source:調(diào)用文件 call:函數(shù)調(diào)用 .C,.Fortran:調(diào)用C或者Fortran子程序的動(dòng)態(tài)鏈接庫(kù)。 Recall:遞歸調(diào)用

browser,debug,trace,traceback:程序調(diào)試 options:指定系統(tǒng)參數(shù) missing:判斷虛參是否有對(duì)應(yīng)實(shí)參 nargs:參數(shù)個(gè)數(shù) stop:終止函數(shù)執(zhí)行

on.exit:指定退出時(shí)執(zhí)行 eval,expression:表達(dá)式計(jì)算 system.time:表達(dá)式計(jì)算計(jì)時(shí) invisible:使變量不顯示 menu:選擇菜單(字符列表菜單)

其它與函數(shù)有關(guān)的還有:delay,delete.response,deparse,do.call,dput,environment ,,formals,format.info,interactive,

is.finite,is.function,is.language,is.recursive ,match.arg,match.call,match.fun,model.extract,name,parse,substitute,sys.parent ,warning,machine

cat,print:顯示對(duì)象 sink:輸出轉(zhuǎn)向到指定文件 dump,save,dput,write:輸出對(duì)象 scan,read.table,load,dget:讀入

ls,objects:顯示對(duì)象列表 rm, remove:刪除對(duì)象 q,quit:退出系統(tǒng) .First,.Last:初始運(yùn)行函數(shù)與退出運(yùn)行函數(shù)。

options:系統(tǒng)選項(xiàng) ?,help,help.start,apropos:幫助功能 data:列出數(shù)據(jù)集分析

每一種分布有四個(gè)函數(shù):d――density(密度函數(shù)),p――分布函數(shù),q――分位數(shù)函數(shù),r――隨機(jī)數(shù)函數(shù)。

比如,正態(tài)分布的這四個(gè)函數(shù)為dnorm,pnorm,qnorm,rnorm。下面我們列出各分布后綴,前面加前綴d、p、q或r就構(gòu)成函數(shù)名:

norm:正態(tài),t:t分布,f:F分布,chisq:卡方(包括非中心) unif:均勻,exp:指數(shù),weibull:威布爾,gamma:伽瑪,beta:貝塔

lnorm:對(duì)數(shù)正態(tài),logis:邏輯分布,cauchy:柯西, binom:二項(xiàng)分布,geom:幾何分布,hyper:超幾何,nbinom:負(fù)二項(xiàng),pois:泊松 signrank:符號(hào)秩,

wilcox:秩和,tukey:學(xué)生化極差

sum, mean, var, sd, min, max, range, median, IQR(四分位間距)等為統(tǒng)計(jì)量,sort,order,rank與排序有關(guān),其它還有ave,fivenum,mad,quantile,stem等。

R中已實(shí)現(xiàn)的有chisq.test,prop.test,t.test。

cor,cov.wt,var:協(xié)方差陣及相關(guān)陣計(jì)算 biplot,biplot.princomp:多元數(shù)據(jù)biplot圖 cancor:典則相關(guān) princomp:主成分分析 hclust:譜系聚類

kmeans:k-均值聚類 cmdscale:經(jīng)典多維標(biāo)度 其它有dist,mahalanobis,cov.rob。

ts:時(shí)間序列對(duì)象 diff:計(jì)算差分 time:時(shí)間序列的采樣時(shí)間 window:時(shí)間窗

lm,glm,aov:線性模型、廣義線性模型、方差

R語(yǔ)言數(shù)據(jù)對(duì)象與運(yùn)算

R語(yǔ)言數(shù)據(jù)對(duì)象與運(yùn)算

R語(yǔ)言數(shù)據(jù)對(duì)象與運(yùn)算 筆記整理

2.1 數(shù)據(jù)對(duì)象及類型

R語(yǔ)言創(chuàng)建和控制的實(shí)體被稱為對(duì)象(object)

ls()命令來(lái)查看當(dāng)前系統(tǒng)里的數(shù)據(jù)對(duì)象

R對(duì)象的名稱必須以一個(gè)英文字母打頭,并由一串大小寫字母、數(shù)字或鐘點(diǎn)組成

注意:R區(qū)分大小寫

不要用R的內(nèi)置函數(shù)名稱作為數(shù)據(jù)對(duì)象的名稱,如c、length等

2.2 數(shù)據(jù)對(duì)象類型

R語(yǔ)言的對(duì)象包括

數(shù)值型(numeric):實(shí)數(shù), 可寫成整數(shù)(integers)、小數(shù)(decimal fractions)、科學(xué)記數(shù)(scientific notation)

邏輯型(logical):T(true)或F(FALSE)

字符型(character):夾在" "或之間

復(fù)數(shù)型(complex):形如a+bi

原味型(raw):以二進(jìn)制形式保存數(shù)據(jù)

缺省型(missing value):有些統(tǒng)計(jì)資料是不完整的,當(dāng)一個(gè)元素或值在統(tǒng)計(jì)的時(shí)候是“不可得到(not available)”或“缺失值(missing value)”的時(shí)候,相關(guān)位置可能會(huì)被保留并賦予一個(gè)特定的NA(not available)值,任何NA的運(yùn)算結(jié)果都是NA。

辨別和轉(zhuǎn)換數(shù)據(jù)對(duì)象類型的函數(shù):

辨別 轉(zhuǎn)換

character is.character() as,character()

complex

double

integer

logical

NA

numeric

2.3 數(shù)據(jù)對(duì)象構(gòu)造

R語(yǔ)言里的數(shù)據(jù)對(duì)象主要有六種構(gòu)造:向量(vector)、矩陣(matrix)、數(shù)組(array)、列表(list)、數(shù)據(jù)框(data frames)、因子(factor)

2.3.1 向量(vector)是由有相同基本類型元素組成的序列,相當(dāng)于一維數(shù)組

5個(gè)數(shù)值組成的向量x,這是一個(gè)用函數(shù)c()完成的賦值語(yǔ)句,這里c()可以有任意多個(gè)參數(shù),而它輸出的值則是一個(gè)把這些參數(shù)首尾相連形成的一個(gè)向量

R的賦值符號(hào)除了“-”外,還有"-""="

例如:

c(1,3,5,7,9) - y

y

[1] 2 5 8 3

z = c(1,3,5,7,9)

z

[1] 1 3 5 7 9

assign()函數(shù)對(duì)向量進(jìn)行賦值

length():可返回向量的長(zhǎng)度

mode()可返回向量的數(shù)據(jù)類型

正則序列 用 “:”符號(hào),可產(chǎn)生有規(guī)律的正則序列(: 的運(yùn)算級(jí)別最高)

函數(shù)seq()產(chǎn)生有規(guī)律的各種序列

seq(from,to ,by) from 給序列的起始值,to表示序列的終止值,by表示步長(zhǎng)(by 省略時(shí),表示步長(zhǎng)值為1)

seq(1,10,2)

[1] 1 3 5 7 9

seq(1,10)

[1] 1 2 3 4 5 6 7 8 9 10

有時(shí)關(guān)注的是數(shù)列的長(zhǎng)度,利用句法:seq(下界,by=,length=)

seq(1,by=2,length=10)

[1] 1 3 5 7 9 11 13 15 17 19

rep(x,times,……)x表示要重復(fù)的對(duì)象,times表示重復(fù)的次數(shù)

rep(c(1,3),4)

[1] 1 3 1 3 1 3 1 3

rep(c(1,3),each=4)

[1] 1 1 1 1 3 3 3 3

對(duì)每個(gè)元素進(jìn)行重復(fù);

R中的內(nèi)置函數(shù):

mean()來(lái)示向量的均值

median()求是位數(shù)

var()求方差

sd()求標(biāo)準(zhǔn)差

sort()對(duì)向量排序

rev()將向量按原方向的反方向排列

rank()給求出向量的秩

prod()求向量連乘積

append()為向量添加元素

對(duì)向量運(yùn)算常見(jiàn)函數(shù)表

函數(shù) 用途

sum() 求和

max() 求最大值

min() 求最小值

range() 求極差(全矩)

mean() 求均值

median 求中位數(shù)

var() 求方差

sd() 求標(biāo)準(zhǔn)差

sort() 排序

rev() 反排序

rank() 求秩

append() 添加

replace() 替換

match() 匹配

pmatch() 部分匹配

all() 判斷所有

any() 判斷部分

prod() 積

2.3.2 矩陣

矩陣(matrix)是將數(shù)據(jù)用行和列排列的長(zhǎng)方形表格,它是二維的數(shù)組,其單元必須是相同的數(shù)據(jù)類型,通常用列來(lái)表示不同的變量,用行表示各個(gè)對(duì)象。

其句法是:

matrix(data=NA,ncol=1,byrow-=FALSE,dimnames=NULL)

data是必須的,其它幾個(gè)選擇參數(shù)。

nrow表示矩陣的行數(shù)

ncol表示矩陣的列數(shù)

byrow默認(rèn)為FALSE,表示矩陣按列排列,如設(shè)置為T,表示按行排列;

dimnames可更改矩陣行列名字

diag()函數(shù)生成對(duì)角矩陣

diag()這個(gè)函數(shù)比較特別,當(dāng)數(shù)據(jù)是向量時(shí)則生成對(duì)角矩陣,但當(dāng)數(shù)據(jù)是矩陣時(shí),則返回對(duì)角元素

也可用函數(shù)diag()生成單位矩陣

當(dāng)我們生成了某個(gè)矩陣后,若要訪問(wèn)矩陣的某個(gè)元素或某行(列),可以利用形如A[i,j]的形式得到相應(yīng)的索引矩陣

矩陣可進(jìn)行相應(yīng)的加減乘除運(yùn)算,但運(yùn)算過(guò)程中要注意行數(shù)和列數(shù)的限制條件

R里A*B并不是表示矩陣相乘,只表示矩陣對(duì)應(yīng)的元素相乘

矩陣相乘應(yīng)用A%*%B

dim()返回矩陣的行數(shù)和列數(shù)

nrow()返回矩陣的行數(shù)

ncol()返回矩陣的列數(shù)

solve()返回矩陣的逆矩陣

對(duì)矩陣運(yùn)算的常見(jiàn)函數(shù)

函數(shù) 用途

as.matrix() 把非矩陣的轉(zhuǎn)換成矩陣

is.matrix() 辨別是否矩陣

diag() 返回對(duì)角元素或生成對(duì)角矩陣

eigen() 求特征值和特征向量

solve() 求逆矩陣

chol() Choleski分解

svd() 奇異值分解

qr() QR分解

det() 求行列式

dim() 返回行列數(shù)

t() 矩陣轉(zhuǎn)置

apply() 對(duì)矩陣應(yīng)用函數(shù)

R語(yǔ)言還提供了專門針對(duì)矩陣的行或列計(jì)算的函數(shù)

如 colSUms()對(duì)矩陣各列求和 colMeans()求矩陣各列的均值

類似的有 rowSums()rowMeans()

更一般的方法:

apply()函數(shù)來(lái)對(duì)各行各列進(jìn)行運(yùn)算

句法是:apply(X,MARGIN,FUN,……)

X表示要處理的數(shù)據(jù)

MARGIN表示函數(shù)作用的范圍

取1表示對(duì)行運(yùn)用函數(shù)

取2表示對(duì)列運(yùn)用函數(shù)

FUN表示要運(yùn)用的函數(shù)

rbind()、cbind()將兩個(gè)或兩個(gè)以上的矩陣合并起來(lái)

rbind()表示按行合并,cbind()則表示按列合并

2.3.3 數(shù)組

數(shù)組(array)可以看作是帶有多個(gè)下標(biāo)的類型相同的元素的集合。

數(shù)組的生成函數(shù)是array(),其句法是

array(data=NA,dim=length(data),dimnames-NULL)

data表示數(shù)據(jù),可以為空

dim 表示維數(shù)

dimnames可以更改數(shù)組難度的名稱

2.3.4 列表

向量、矩陣和的單元必須是同一類型的數(shù)據(jù),若一個(gè)數(shù)據(jù)對(duì)象需要含有不同的數(shù)據(jù)類型,可采用列表(list)這種數(shù)據(jù)對(duì)象的形式。

列表是一個(gè)對(duì)象的有序集合構(gòu)成的對(duì)象,列表中包含的對(duì)象又稱為它的分量(components),分量可以是不同的模式或(和)類型

語(yǔ)法式為:list (變量1=分量1,變量2=分量2,……)

若要訪問(wèn)列表的某一成分,可以用LST[[1]],LST[[2]]的形式訪問(wèn)

因分量可以被命名,故可以在列表名稱后加$符號(hào),再寫上成分名稱來(lái)訪問(wèn)列表分量

函數(shù)length()、mode()、names()可以分別返回列表的長(zhǎng)度(分量的數(shù)目)、數(shù)據(jù)類型、列表里成分的名字

2.3.5 數(shù)據(jù)框

數(shù)據(jù)框(data frame)是一種矩陣形式的數(shù)據(jù),但數(shù)據(jù)框中各列可以是不同類型的數(shù)據(jù)。數(shù)據(jù)框每列是一個(gè)變量,每行是一個(gè)觀測(cè) 。

對(duì)可能列入數(shù)據(jù)框中的列表有如下的一些限制:

1.分量必須是向量(數(shù)值,字符,邏輯),因子,數(shù)值矩陣,列表或者其他數(shù)據(jù)框。

2.矩陣,列表和數(shù)據(jù)框?yàn)樾碌臄?shù)據(jù)框提供了盡可能多的變量,因?yàn)樗鼈兏髯該碛辛?、元素或者變量?/p>

3.?dāng)?shù)值向量、邏輯值、因子保持原有格式,而字符向量會(huì)被強(qiáng)制轉(zhuǎn)換成因子并且它的水平就是向量中出現(xiàn)的獨(dú)立值。

4.在數(shù)據(jù)框中以變量形式出現(xiàn)的向量結(jié)構(gòu)必須長(zhǎng)度一致,矩陣結(jié)構(gòu)必須有一樣的行數(shù)。

R中用函數(shù)data.frame()生成數(shù)據(jù)框,其句法是:data.frame(data1,data2,……)

數(shù)據(jù)框的列名默認(rèn)為變量名,也可對(duì)列名進(jìn)行重新命名

也可以對(duì)數(shù)據(jù)框的行名進(jìn)行修改

2.3.6 因子和有序因子

分類型數(shù)據(jù)經(jīng)常要把數(shù)據(jù)分成不同的水平或因子(factor)

生成因子的命令是factor(),其句法是:factor(data,levels,labels,……)

其中data表示數(shù)據(jù)

levels是因子水平向量

labels是因子的標(biāo)簽向量

levels,labels是備選項(xiàng),可以不選

若上面的每個(gè)因子并不表示因子的大小,要表達(dá)因子之間有大小順序(考慮因子之間的順序),則可以用 ordered()函數(shù)產(chǎn)生

2.4 數(shù)據(jù)的錄入及編輯

c函數(shù):c函數(shù)是把各個(gè)值聯(lián)成一個(gè)向量或列表,可以形成數(shù)值型向量、字符型向量或其它類型向量

scan函數(shù):功能類似于c函數(shù),實(shí)際上是一種鍵盤輸入數(shù)據(jù)函數(shù)。當(dāng)輸入scan(),然后按回車鍵,這時(shí)將等待輸入數(shù)據(jù),數(shù)據(jù)之間只要空格分開(kāi)即可(c函數(shù)要用逗號(hào)分開(kāi))。輸入完數(shù)據(jù),再按回車鍵,這時(shí)數(shù)據(jù)錄入完畢。

scan函數(shù)還可以讀入外部文本文件,若現(xiàn)有一個(gè)文本文件,data.txt,讀入這個(gè)文件的命令是: x=scan(file="dat.txt")

若原文件的數(shù)據(jù)之間有逗號(hào)等分隔符,用scan讀入應(yīng)該去掉這些分隔符,其命令是: x=scan(file="dat.txt",sep=",")

編輯數(shù)據(jù)

data.entry命令

xx原先未被定義,現(xiàn)在賦予其一個(gè)空值,這時(shí)會(huì)出現(xiàn)一個(gè)電子表格界面,等待輸入數(shù)據(jù): data.entry(xx=c(NA))

當(dāng)電子表格關(guān)閉后,數(shù)據(jù)會(huì)自動(dòng)保存

edit命令用來(lái)編輯函數(shù),也可用來(lái)編輯數(shù)據(jù),但不會(huì)自動(dòng)保存

fix函數(shù)與edit類似,但它可以自動(dòng)保存

從外部文件讀入數(shù)據(jù)

從文本文件讀?。?/p>

s1=read.table("student.txt")

s1

V1 V2 V3

1 class sex score

2 1 女 80

3 1 男 85

4 2 男 92

5 2 女 76

6 3 女 61

7 3 女 95

8 3 男 83

讀入表格數(shù)據(jù)的命令是:read.table

忽略掉標(biāo)簽而直接使用默認(rèn)的行標(biāo)簽

s2=read.table("student.txt",header=T)

s2

class sex score

1 1 女 80

2 1 男 85

3 2 男 92

4 2 女 76

5 3 女 61

6 3 女 95

7 3 男 83

從網(wǎng)絡(luò)讀入數(shù)據(jù)

url可以從網(wǎng)頁(yè)上讀入正確格式的數(shù)據(jù),要借助read.table函數(shù)

address=

/sample.txt

read.table(file=url(address))

讀入其他格式的數(shù)據(jù)庫(kù)

要讀入其他格式的數(shù)據(jù)庫(kù),必須先安裝"foreign"模塊,它不屬于R的8個(gè)內(nèi)置模塊,需在使用前安裝。 library(foreign)

SAS:R只能詩(shī)篇SAS Transport format(XPORT)文件,需要把普通的SAS數(shù)據(jù)文件(.ssd和.sas7bdat)轉(zhuǎn)換成Transport format(XPORT)文件,再用命令:read.xport()

SPSS數(shù)據(jù)庫(kù):read.spss()可讀入SPSS數(shù)據(jù)文件

Epi info數(shù)據(jù)庫(kù):

要給數(shù)據(jù)集一個(gè)名字,則是;read.epiinfo("文件名.rec")-名稱

Stata數(shù)據(jù)庫(kù):

R可讀入Stata5,6,7的數(shù)據(jù)庫(kù)

讀入數(shù)據(jù)文件后,使用數(shù)據(jù)集名$變量名,即可使用各個(gè)變量

read.dta(“文件名.dta”)

讀入數(shù)據(jù)文件后,使用數(shù)據(jù)集名$變量名,即可使用各個(gè)變量。

mean(data$age)

便是計(jì)算數(shù)據(jù)集 data中的變量age的均數(shù)。

2.5 函數(shù)、循環(huán)與條件表達(dá)式

2.5.1 編寫函數(shù)

句法是:

函數(shù)名 = function (參數(shù)1,參數(shù)2…)

{

函數(shù)體

函數(shù)返回值

}

對(duì)于這類只有一個(gè)算術(shù)式的簡(jiǎn)單函數(shù),也要不要{}

mean(data$age)

便是計(jì)算數(shù)據(jù)集 data中的變量age的均數(shù)。

若不使用圓括號(hào),直接輸入函數(shù)名,按回車鍵將顯示函數(shù)的定義式:

單參數(shù):使函數(shù)個(gè)性化,可使用單參數(shù),函數(shù)將會(huì)根據(jù)參數(shù)的不同,返回值不同

welcome.sb = function(names) print(paste("welcome",names,"to

use R"))

welcome.sb("Mr fang")

[1] "welcome Mr fang to use R"

welcome.sb("Mr Wang")

[1] "welcome Mr Wang to use R"

默認(rèn)參數(shù):即不輸入任何參數(shù)

函數(shù)的默認(rèn)參數(shù)

welcome.sb=function(names="Mr fang")print(paste("welcome",

names,"to use R"))

welcome.sb()

[1] "welcome Mr fang to use R"

當(dāng)函數(shù)體的表達(dá)式超過(guò)一個(gè)時(shí),要用{}封起來(lái)

2.5.2 for循環(huán)

for循環(huán)的句法是:

for (變量 in取值向量) {

表達(dá)式…

}


網(wǎng)站名稱:r語(yǔ)言c函數(shù) r語(yǔ)言中c函數(shù)
網(wǎng)頁(yè)URL:http://weahome.cn/article/hjcidc.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部