Rè¯è¨æ°ç»åç©éµ
1 æ°ç»
æ°ç»å¯ä»¥çæä¸ä¸ªç±éå¢ä¸æ 表示çæ°æ®é¡¹çéåï¼ä¾å¦æ°å¼ã
æ°ç»ççæ
å¦æä¸ä¸ªåééè¦å¨Rä¸ä»¥æ°ç»çæ¹å¼è¢«å¤çï¼åå¿
é¡»å«æä¸ä¸ªç»´æ°åéä½ä¸ºå®çdimå±æ§ã
维度åéç±dim()æå®ï¼ä¾å¦ï¼zæ¯ä¸ä¸ªç±1500个å
ç´ ç»æçåéãä¸é¢çèµå¼è¯å¥
> dim(z) <- c(3,5,100) 使å®å
·ædimå±æ§ï¼å¹¶ä¸å°è¢«å½ä½ä¸ä¸ª3X5X100çæ°ç»è¿è¡å¤çã c(3,5,100) å°±æ¯ä»ç维度åéã
è¿å¯ä»¥ç¨å°åmatrix()åarray()è¿æ ·çå½æ°æ¥èµå¼ãæ¯å¦
> array(1:20, dim=c(4,5))
> matrix(1:24, 3,4)
æ°æ®åéä¸çå¼è¢«èµç»æ°ç»ä¸çå¼æ¶ï¼å°éµå¾ªä¸FORTRANç¸åçåå"主å顺åº"ï¼å³ç¬¬ä¸ä¸ªä¸æ ååçæå¿«ï¼æåçä¸æ ååææ
¢ã
æ°ç»çè¿ç®
æ°ç»å¯ä»¥å¨ç®æ°
表达å¼ä¸ä½¿ç¨ï¼ç»æä¹æ¯ä¸ä¸ªæ°ç»ï¼è¿ä¸ªæ°ç»ç±æ°æ®åéé个å
ç´ çè¿ç®åç»æï¼é常åä¸è¿ç®ç对象åºå½å
·æç¸åçdimå±æ§ã
2 æ°ç»çç´¢å¼åæ°ç»çåå
æ°ç»ä¸çå个å
ç´ å¯ä»¥éè¿ä¸æ æ¥æå®ï¼ä¸æ ç±éå·åéï¼åå¨æ¬å·å
ã
æ们å¯ä»¥éè¿å¨ä¸æ çä½ç½®ç»åºä¸ä¸ªç´¢å¼åéæ¥æå®ä¸ä¸ªæ°ç»çååï¼ä¸è¿å¦æå¨ä»»ä½ä¸ä¸ªç´¢å¼ä½ç½®ä¸ç»åºç©ºçç´¢å¼åéï¼åç¸å½äºéåäºè¿ä¸ªä¸æ çå
¨é¨èå´ã
å¦a[2,,]ï¼a[,3,]ç
3 ç´¢å¼æ°ç»
é¤äºç´¢å¼åéï¼è¿å¯ä»¥ä½¿ç¨ç´¢å¼æ°ç»æ¥æå®æ°ç»çæäºå
ç´ ã
ä¾å¦ï¼æ4X5çæ°ç»aï¼è¥è¦å¾å°aä¸ça[1,3], a[2,2] åa[3,1]è¿ä¸ä¸ªå
ç´ ï¼å¯ä»¥çæç´¢å¼åéiï¼ç¶åç¨a[i]å¾å°å®ä»¬ã
> a <- array(1:20,dim=c(4,5)) # Generate a 4 by 5 array.
> i <- array(c(1:3,3:1),dim=c(3,2))
> i
[,1] [,2]
[1,] 1 3
[2,] 2 2
[3,] 3 1
> a[i]
[1] 9 6 3
> a[i] <- 0 # å°è¿ä¸ä¸ªå
ç´ ç¨0æ¿æ¢ã
4 åéï¼æ°ç»çæ··åè¿ç®
表达å¼ä»å·¦å°å³è¢«æ«æï¼
åä¸è¿ç®çä»»æ对象å¦æ大å°ä¸è¶³ï¼é½å°è¢«éå¤ä½¿ç¨ç´å°ä¸å
¶ä»åä¸è¿ç®ç对象çé¿ï¼
å½è¾ççåéåæ°ç»å¨è¿ç®ä¸ç¸éæ¶ï¼ææçæ°ç»å¿
é¡»å
·æç¸åçdimå±æ§ï¼å¦åè¿åä¸ä¸ªé误ï¼
å¦ææä»»æåä¸è¿ç®çåéæ¯åä¸è¿ç®çç©éµææ°ç»é¿ï¼å°ä¼äº§çé误ï¼
å¦ææ°ç»ç»ææ£å¸¸å£°ç§°ï¼å¹¶ä¸æ²¡æé误æè
强å¶è½¬æ¢è¢«åºç¨äºåéä¸ï¼é£ä¹å¾å°çç»æä¸åä¸è¿ç®çæ°ç»å
·æç¸åçdimå±æ§ã
5 ç©éµçè¿ç®
æ建ååºç©éµï¼cbind()årbind()ï¼cbind()æç
§æ°´å¹³æ¹åï¼æè
说æåçæ¹å¼å°ç©éµè¿æ¥å°ä¸èµ·ãrbind()æç
§åç´çæ¹åï¼æè
说æè¡çæ¹å¼å°ç©éµè¿æ¥å°ä¸èµ·ã
å¤ç§¯ï¼æä½ç¬¦æ¯%o%:
> ab <- a %o% b æè
> ab <- outer(a, b, "*")
å
¶ä¸çä¹æ³æä½å¯ä»¥ç±ä»»æä¸ä¸ªååéçå½æ°æ¿ä»£ã
广ä¹è½¬ç½®ï¼å½æ°t(A)ï¼æaperm(A, c(2,1))ï¼
è·åè¡æ°/åæ°ï¼nrow(A)åncol(A)åå«è¿åç©éµAçè¡æ°ååæ°ã
ç©éµä¹æ³ï¼æä½ç¬¦ä¸º%*%ï¼
交åä¹ç§¯ï¼cross productï¼ï¼crossprod(Xï¼Y)çåäºt(X) %*% yï¼crossprod(X)çä»·äºcrossprod(X, X)ï¼
diag(v)ï¼å¦ævæ¯åéï¼diag(v)è¿åä¸ä¸ªç±vçå
ç´ ä¸ºå¯¹è§å
ç´ ç
对è§ç©éµã
å¦æv为ç©éµï¼diag(v)è¿åä¸ä¸ªç±v主对è§å
ç´ ç»æçåéã
å¦ævåªæ¯ä¸ä¸ªæ°å¼ï¼é£ä¹diag(v)æ¯ä¸ä¸ªvXvç
åä½ç©éµã
ç¹å¾å¼åç¹å¾åéï¼eigen(Sm)ãè¿ä¸ªå½æ°çç»ææ¯ç±å为valuesåvectorsç两é¨åç»æçå表ãå¦æåªæ¯éè¦ç¹å¾å¼ï¼eigen(Sm)$values
æå°äºä¹æåå³QRå解ï¼lsfit(), qr()ã
强å¶è½¬æ¢ä¸ºåéï¼as.vector()ï¼æè
ç´æ¥c().