https://www.cnblogs.com/zhangduo/p/4537168.html 基本操作 用all.equal函數(shù)檢查浮點(diǎn)數(shù)是否相等,容忍度默認(rèn)為1.5e-8,如果相等返回TRUE,不相等返回差值。將其嵌入isTRUE函數(shù)則返回TRUE或者FALSE 使用<<-對(duì)全局變量賦值,或者使用assign函數(shù),參數(shù):“變量名”,值,如果全局賦值加上globalenv()參數(shù)。assign函數(shù)高級(jí)用法,需少用。 一般直接輸入變量名就會(huì)輸出結(jié)果,是為隱式調(diào)用print函數(shù),從linux終端運(yùn)行等需要加上print函數(shù)。 特殊數(shù)字:Inf,-Inf,NaN,NA。NaN(not a number),NA(not available)代表缺失值。is.finite函數(shù)檢查特殊數(shù)字,正常數(shù)字返回TRUE,is.infinite函數(shù)相反。is.nan函數(shù)檢查NaN,is.na函數(shù)檢查NA,NaN。 三種邏輯:TRUE,FALSE,NA。any和all函數(shù)檢查邏輯向量 NULL是個(gè)特殊值,表示空的變量。NULL沒有長(zhǎng)度,用is.null來(lái)測(cè)試,把某個(gè)元素設(shè)置為NULL為刪除,它因此采用list(NULL)來(lái)設(shè)置。 head函數(shù)可顯示前幾行(默認(rèn)為6行),head('',n)顯示前n行。 工作目錄:查看getwd(),更改setwd("path")。絕對(duì)路徑的書寫用/書寫,windows下可以用\\,為了在各個(gè)系統(tǒng)下保持一致,盡量用/間隔 清除工作區(qū)的變量
1 2 3 4 5 6 7 8 | #清除所有變量
rm (list= ls ())
#清除單個(gè)變量
rm (data)
#清除多個(gè)變量
rm (list= c ( 'data1' , 'data2' ))
|
1 2 3 4 5 | > str (a)
'data.frame' : 13 obs. of 3 variables:
$ class: Factor w/ 7 levels "浜岀彮" , "涓夌彮" ,..: 7 6 5 4 3 1 1 1 1 2 ...
$ name : Factor w/ 10 levels "" , "122" , "闄堜附鐏\xb5,115" ,..: 1 2 1 1 2 8 7 6 5 4 ...
$ score: int NA NA NA NA NA 119 96 NA NA NA ...
|
1 2 3 4 5 6 7 8 9 | > attributes (a)
$names
[1] "class" "name" "score"
$class
[1] "data.frame"
$row.names
[1] 1 2 3 4 5 6 7 8 9 10 11 12 13
|
生成數(shù)據(jù)1 2 3 4 5 6 7 8 9 10 11 12 | > vector ( 'numeric' ,5) #numeric(5)
[1] 0 0 0 0 0
> vector ( 'logical' ,5) #logical(5)
[1] FALSE FALSE FALSE FALSE FALSE
> vector ( 'character' ,5) #character(5)
[1] "" "" "" "" ""
> vector ( 'list' ,2)
[[1]]
NULL
[[2]]
NULL
|
summary數(shù)據(jù)匯總:最小值,1/4值,中指,3/4值,最大值。對(duì)數(shù)據(jù)框使用summary函數(shù),相當(dāng)于對(duì)每一列使用summary函數(shù)。 letters包含a到z的小寫值,LETTERS對(duì)應(yīng)大寫字母。
1 2 3 4 5 6 7 8 | > letters [4]
[1] "d"
> letters [1:4]
[1] "a" "b" "c" "d"
> letters []
[1] "a" "b" "c" "d" "e" "f" "g" "h" "i" "j" "k" "l"
[13] "m" "n" "o" "p" "q" "r" "s" "t" "u" "v" "w" "x"
[25] "y" "z"
|
1 2 3 4 5 6 7 8 9 10 11 | #runif(n,min,max),默認(rèn)產(chǎn)生0-1之間的隨機(jī)數(shù)
> runif (3)
[1] 0.3308360 0.5573855 0.9720616
> runif (3,min=1,max=9)
[1] 8.946071 4.915268 5.763918
#rnom可指定參數(shù)mean:平均數(shù),sd:標(biāo)準(zhǔn)差,默認(rèn)mean=0,sd=1
> rnorm (5)
[1] 0.55080064 -0.24792330 -0.09480838 0.65215600
[5] -0.96422061
> rnorm (5,mean=2,sd=0.3)
[1] 2.373522 2.176204 1.948216 2.371155 2.070872
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | #seq.int創(chuàng)建一個(gè)序列,與冒號(hào)有所不同,指定步長(zhǎng)時(shí)也不一樣
> 2:8
[1] 2 3 4 5 6 7 8
> seq.int (2:8)
[1] 1 2 3 4 5 6 7
> seq.int (4,10,3) #指定步長(zhǎng)3
[1] 4 7 10
#seq_len函數(shù)創(chuàng)建一個(gè)從1到它的輸入值的序列,輸入為0時(shí)創(chuàng)建一個(gè)空值
> seq_len (0)
integer (0)
> attributes ( seq_len (0))
NULL
#seq_along創(chuàng)建一個(gè)從1開始、長(zhǎng)度為其輸入值的序列
> seq_along ( letters [1:10])
[1] 1 2 3 4 5 6 7 8 9 10
|
1 2 3 4 5 6 7 8 9 10 11 12 | #整體重復(fù)三遍
> rep (1:5,3)
[1] 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5
#每個(gè)元素重復(fù)三遍
> rep (1:5,each=3)
[1] 1 1 1 2 2 2 3 3 3 4 4 4 5 5 5
#每個(gè)元素重復(fù)個(gè)數(shù):1:5
> rep (1:5,times=1:5)
[1] 1 2 2 3 3 3 4 4 4 4 5 5 5 5 5
#重復(fù)矢量直到達(dá)到15的長(zhǎng)度
> rep (1:5,length.out=15)
[1] 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #array創(chuàng)建數(shù)組,另個(gè)參數(shù):值,維度dim
> array (1:12,dim= c (3,4))
[,1] [,2] [,3] [,4]
[1,] 1 4 7 10
[2,] 2 5 8 11
[3,] 3 6 9 12
#matrix創(chuàng)建矩陣,需要指定行數(shù)或者列數(shù),默認(rèn)輸入的值按照列填充,或者指定參數(shù)byrow=TRUE按行填充
> matrix (1:12,nrow=3)
[,1] [,2] [,3] [,4]
[1,] 1 4 7 10
[2,] 2 5 8 11
[3,] 3 6 9 12
> matrix (1:12,nrow=3,byrow= TRUE )
[,1] [,2] [,3] [,4]
[1,] 1 2 3 4
[2,] 5 6 7 8
[3,] 9 10 11 12
|
向量,矩陣和數(shù)組1.length函數(shù)1 2 3 4 5 6 7 8 9 10 11 | > length (1:5)
[1] 5
#缺失值NA也被計(jì)入長(zhǎng)度
> length ( c ( TRUE , FALSE , NA ))
[1] 3
#返回字符串的數(shù)目
> length ( c ( 'A' , 'B' , 'C' ))
[1] 3
#若想返回每個(gè)字符串中字符的長(zhǎng)度用nchar
> nchar ( c ( 'Axc' , 'Bcdsfs' , 'Cdsss' ))
[1] 3 6 5
|
若用于矩陣和數(shù)組則返回所有維度的乘積 2.命名name可以在創(chuàng)建數(shù)據(jù)時(shí)指定名稱,也可以在事后命名。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | #kiwi fruit用引號(hào)括起來(lái)了,因?yàn)槠涿Q無(wú)效:有空格
#可以忽略其他元素命名
> c (apple=1, "kiwi fruit" =2,3)
apple kiwi fruit
1 2 3
> x <- 1:3
> names (x) <- c ( "apple" , "kiwi fruit" , '' )
> x
apple kiwi fruit
1 2 3
#names函數(shù)返回名稱,若沒有一個(gè)元素有名字則返回NULL
> names (x)
[1] "apple" "kiwi fruit" ""
> names(1:4)
NULL
#創(chuàng)建數(shù)組時(shí)命名,矩陣同樣
> x <- array (1:6,dim= c (2,3),dimnames= list ( c ( "one" , "tow" ), c ( "ein" , "zwei" , "drei" )))
> x
ein zwei drei
one 1 3 5
tow 2 4 6
#rownames、colnames和dimnames函數(shù)
> rownames (x)
[1] "one" "tow"
> colnames (x)
[1] "ein" "zwei" "drei"
> dimnames (x)
[[1]]
[1] "one" "tow"
[[2]]
[1] "ein" "zwei" "drei"
|
3.行、列和維度dim函數(shù)對(duì)于數(shù)組和矩陣返回所有維度。nrow和ncol函數(shù)分別返回行和列。norm、ncol和dim用于向量時(shí)返回NULL。NROW和NCOL函數(shù)把向量看做列向量 4.合并矩陣c函數(shù)拼接矩陣把他們轉(zhuǎn)換成向量,cbind和rbind分別按col列和row行合并矩陣 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | > x <- matrix (1:12,nrow=3);x
[,1] [,2] [,3] [,4]
[1,] 1 4 7 10
[2,] 2 5 8 11
[3,] 3 6 9 12
> y <- matrix (13:24,nrow=3);y
[,1] [,2] [,3] [,4]
[1,] 13 16 19 22
[2,] 14 17 20 23
[3,] 15 18 21 24
> c (x,y)
[1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
[17] 17 18 19 20 21 22 23 24
> cbind (x,y)
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8]
[1,] 1 4 7 10 13 16 19 22
[2,] 2 5 8 11 14 17 20 23
[3,] 3 6 9 12 15 18 21 24
> rbind (x,y)
[,1] [,2] [,3] [,4]
[1,] 1 4 7 10
[2,] 2 5 8 11
[3,] 3 6 9 12
[4,] 13 16 19 22
[5,] 14 17 20 23
[6,] 15 18 21 24
|
5.數(shù)學(xué)運(yùn)算除法/,轉(zhuǎn)置t函數(shù),點(diǎn)乘%*%和外乘%o%。solve矩陣求反 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | 向量?jī)?nèi)乘
> 1:3%*%2:4
[,1]
[1,] 20
#向量外乘
> 1:3%o%2:4
[,1] [,2] [,3]
[1,] 2 3 4
[2,] 4 6 8
[3,] 6 9 12
> x<- matrix (1:6,nrow=2);x
[,1] [,2] [,3]
[1,] 1 3 5
[2,] 2 4 6
> y<- matrix (1:6,nrow=3);y
[,1] [,2]
[1,] 1 4
[2,] 2 5
[3,] 3 6
#矩陣相乘
> x%*%y
[,1] [,2]
[1,] 22 49
[2,] 28 64
> x<- matrix ( runif (9),nrow=3);x
[,1] [,2] [,3]
[1,] 0.6136448 0.05304645 0.7378249
[2,] 0.1922476 0.18177634 0.9545918
[3,] 0.9050422 0.65400112 0.2954112
#矩陣求逆
> solve (x)
[,1] [,2] [,3]
[1,] 1.6984882 -1.389698 0.2484943
[2,] -2.4026083 1.448092 1.3214365
[3,] 0.1154494 1.051693 -0.3016769
#矩陣轉(zhuǎn)置
> t (x)
[,1] [,2] [,3]
[1,] 0.98387863 0.6292973 0.03753178
[2,] 0.09061386 0.5971163 0.10537436
[3,] 0.80727162 0.5403768 0.55767250
|
|