- 在线时间
- 27 小时
- 最后登录
- 2013-5-20
- 注册时间
- 2012-11-2
- 听众数
- 15
- 收听数
- 1
- 能力
- 0 分
- 体力
- 3870 点
- 威望
- 0 点
- 阅读权限
- 60
- 积分
- 1335
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 347
- 主题
- 320
- 精华
- 0
- 分享
- 0
- 好友
- 6
升级   33.5% TA的每日心情 | 奋斗 2013-6-15 16:58 |
|---|
签到天数: 24 天 [LV.4]偶尔看看III
 群组: 第四届数学中国美赛实 |
|
向量(vector) 1、seq():产生有规律的数列,间距省略时默认值为1。
% X9 E' y6 c, L9 \, \3 l% U例1:seq(10, 20, 0.5)
9 t: D: {- o% i7 t6 \例2:seq(0, by = 0.03, length = 15)
9 {5 G9 u; t6 T0 O Z
& X8 R; Q+ R' K! o2、rep():产生有规律的数列,重复第一个变量若干次。: g" F% [8 w7 y5 K$ Y. i
例1:rep(1:3, 1:3)
4 Q* j1 Q& ?) _( ?例2:rep(1:3, rep(2, 3))
9 u( W1 e. y& ]' F& ^例3:rep(1:3, length = 10)" u+ Q! p5 G4 `2 K1 o. V
! b( b' E$ d1 }' N. j1 N
3、向量运算:一般是对应元素之间的运算,所以两个或多个向量运算时,要求它们包含的元素个素相同(或一个是另一个的整数倍)。, i- R! |5 t% `' @' ]$ M U( l, q
例1:a <- 1:3; b <- 4:6; a * b; b^a
& e j; Y5 i# x5 y# j% R: S& d例2:a <- 1:3; b <- 4:9; a * b; b^a, k0 R$ d2 b5 x7 _" n8 n+ s0 ^
+ E: _! q5 Z5 }& `" w v
4、获取向量某一个或多个子集,向量前的负号"-"表示去除相应内容。
7 C o6 M1 B i9 c1 I* k/ q7 f4 c例1:x <- c(3, 4, 5, 2, 6); x[1:2]; x[-(1:2)]
* s, K2 i% {* |( H" i例2:x <- c(3, 4, 5, 2, 6); x[c(1, 2, 4, 1)]; x[-c(1, 2, 4, 1)], X- V, M# n9 Q7 w! M5 ], y- a K
例3:xx <- seq(1, by = 3, length = 10); xx[xx > 13]0 |. l. T$ E' r+ {2 J- \# M
例4:x <- 1:20; y <- -9:11; x[y > (1)] #注意最后一个是"NA"- ^: c: a. o m. Q/ o
- e, f' M. z% V7 B4 h1 P
5、主要向量运算函数。
& j$ d2 j4 e" _9 Y' b例1:xx <- c(2, 6, 10, 8, 4)
% w, J& T# U: I' b1 esum(xx) #和: F4 I7 T0 `: [& _* j
max(xx) #最大值1 x# F' A0 g& _. c7 O! l
min(xx) #最小值) j. m! Y6 r. W: K, M. |
range(xx) #取值范围7 L5 N2 f( Q7 q w- e Z
mean(xx) #平均值/ N' g& L# r$ m/ l' z1 u2 }
var(xx) #方差
3 j+ @7 J, z9 l% o+ rsort(xx) #从小到大排序
3 g9 a- u& y/ _5 P( \$ lrev(xx) #反排列, 所以从大到小排序应该是rev(sort(xx))( P$ t! u. \4 D! H' l5 _
rank(xx) #单元值大小顺序
. z6 S0 z( s% }& a& \9 {4 I" aprod(xx) #乘积,所以阶乘是prod(1:n)2 K1 m& R. s' A2 q
例2:x <- seq(1, 15, 2)8 o$ ?, t" h# E
append(x, 20:30, after = 5) #插入数据
; Q* c+ ]4 q+ _* x9 W* h3 pappend(x, 20:30) #参数after缺省默认从向量的最后插入值
; z1 G1 ^% f+ v3 x+ V" N4 Mreplace(x, c(2, 4, 6), -1) #替换函数( j. M: R9 I& ~' J$ a: M. i3 W O! \
例3:state.name4 `- g6 }/ b' Z5 X; Y
match(c('Ohio', 'Wyoming'), state.name) #完全匹配函数$ g6 Q) n v8 H/ W3 u; f- c; a
pmatch(c('Oh', 'Wy'), state.name) #部分匹配函数
' U% d- L2 r1 {. F2 U' Jstate.name[pmatch(c('Oh', 'Wy'), state.name)]
- q9 d1 f9 c2 |9 H8 J; m例4:yy <- -9:10
v" T' P; F5 I$ aall(yy > 0) #判断所有
2 _1 o1 [0 q9 c" T! Jall(yy > -10)
: g" \! u9 p) v4 \any(yy == 0) #判断部分
. z/ t7 R5 P Jany(yy > 0)
9 t8 F5 s t" j% rany(yy < -10): O! p& E+ R7 O; e
, ` d$ f* U& K5 ?& Y: @! y% D) z) w* t# p
|
zan
|