|
說的我悵然若失, 如果所有的東西都是無意義的, 那么什么是有意義的? 換句話說, 一定要是有意義的才可以做么? 其實(shí)我是機(jī)器人, 機(jī)械的探討一下機(jī)器人本身的意義, 然后繼續(xù)下雨澆花. 1, R語言介紹R語言是為統(tǒng)計(jì)設(shè)計(jì)的編程語言, 不同領(lǐng)域的人寫了相關(guān)專業(yè)的包, 有很多人共同維護(hù). 軟件是免費(fèi)開源的. 許多收費(fèi)軟件比如SAS和SPSS, 價(jià)格昂貴, R是一個(gè)替代軟件. 2, 面向?qū)ο蟮恼Z言R語言是一個(gè)交互式的語言, 它的每一個(gè)命令都是一個(gè)對(duì)象, 對(duì)象可以設(shè)置參數(shù), 具體結(jié)構(gòu)如下: command( arg1, arg1, ... )每一個(gè)對(duì)象都有相應(yīng)的屬性, 我們可以通過這些函數(shù)獲得對(duì)象的屬性: class( name of object ) = tells you the type of object
length( name of object ) = tells you the number of columns
mode( name of object ) = numeric, list, matrix, etc.3, 數(shù)據(jù)框數(shù)據(jù)框是由行和列構(gòu)成的, 比較類似Excel的sheet表, 第一行經(jīng)常有行頭名(即使變量的名稱), 也可以沒有行頭名. 讀取數(shù)據(jù)可以使用read.table函數(shù), 用法如下: mydframe = read.table("filepath/filename",header=TRUE)4, summary匯總統(tǒng)計(jì)summary是一個(gè)匯總統(tǒng)計(jì), 它會(huì)給出數(shù)據(jù)的基本匯總信息.比如cars是R語言默認(rèn)的數(shù)據(jù)集. 使用data導(dǎo)入數(shù)據(jù)集, 使用summary查看cars的數(shù)據(jù)匯總結(jié)果. data(cars)
carssummary(cars) speed dist
Min. : 4.0 Min. : 2.00
1st Qu.:12.0 1st Qu.: 26.00
Median :15.0 Median : 36.00
Mean :15.4 Mean : 42.98
3rd Qu.:19.0 3rd Qu.: 56.00
Max. :25.0 Max. :120.00 5, 選擇數(shù)據(jù)框的行和列的子集比如cars, 我想選擇1~5行 cars[1:5,]我想選擇第二列的數(shù)據(jù) cars[,2]6, 改變數(shù)據(jù)框的某個(gè)值比如我改變cars的第一行的dist值, 原來為2, 變?yōu)? cars[1,2] =3;
head(cars)7, 做直方圖對(duì)cars的dist做直方圖 hist(cars$dist)也可以生成1000個(gè)隨機(jī)數(shù), 做直方圖 set.seed(123)
v = rnorm(1000)
hist(v)8, 查看數(shù)據(jù)及的頻率表比如查看speed不同速度的個(gè)數(shù), 可以使用table函數(shù) table(cars$speed) 4 7 8 9 10 11 12 13 14 15 16 17 18 19 20 22 23 24 25
2 2 1 1 3 2 4 4 4 3 2 3 4 3 5 1 1 4 1
9, 矩陣運(yùn)算矩陣運(yùn)算有時(shí)候在分析數(shù)據(jù)時(shí)非常用于, 這里展示一些常用的函數(shù) 9.1 生成一個(gè)矩陣ww = matrix(data=c( 50, 6, 6.5, 6, 6, 0, 6.5, 0, 6.5),nrow=3,ncol=3 )
wwwy = matrix(data=c(251.7, 28.16, 31.09), nrow=3,ncol = 1 )
wy轉(zhuǎn)置矩陣, 使用t函數(shù) t(ww)diag可以提取對(duì)角矩陣, 也可以生成對(duì)角矩陣, 比如生成對(duì)角線為0 10 10的3*3對(duì)角矩陣 diag(c(0,10,10))9.2 對(duì)矩陣求廣義逆矩陣R語言默認(rèn)的求逆函數(shù)時(shí)solve, 要計(jì)算廣義逆矩陣, 需要用到MASS的ginv函數(shù) library(MASS)
cww = ginv(ww)
cww矩陣之間的乘法, 使用%*%函數(shù) re = cww %*% ww# round是保留有效數(shù)字的函數(shù)round(re,4)9.3 矩陣的跡(trace)矩陣的跡, 是對(duì)角線之和. 跡用于確定方差分析的自由度,并且在EM 和REML算法估算方差分量中有應(yīng)用 diag(ww)trace = sum(diag(ww))
trace9.4 矩陣的Choleskey分解對(duì)于正定矩陣A,可對(duì)其進(jìn)行Choleskey分解,即:A=P’P,其中P為上三角矩陣,在R中可以用函數(shù)chol()進(jìn)行Choleskey分解. 9.5 直積與直和定義兩個(gè)函數(shù):
# function for direct sum and direct productdirect_sum<- function(mat1,mat2){
r1 <- dim(mat1)[1];c1<- dim(mat1)[2]
r2 <- dim(mat2)[1];c2<- dim(mat2)[2]
rbind(cbind(mat1,matrix(0,r1,c2)),cbind(matrix(0,r2,c1),mat2))
}
direct_product <- kronecker示例: m1 <- matrix(c(4,6,3,8),2,2)
m2 <- matrix(c(1,3,2,5),2,2)
m1
m2direct_sum(m1,m2)
direct_product(m1,m2)
|
|
|