- 在线时间
- 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。
3 v3 {" S6 y3 M) T& |! q8 P. n例1:seq(10, 20, 0.5)
7 m& y6 V s. S- Q& X$ Q1 m6 k# P例2:seq(0, by = 0.03, length = 15)9 z5 j! H2 Y) C9 V' A8 ^& [
: K: j" b7 I/ ^# R" y3 L0 \2、rep():产生有规律的数列,重复第一个变量若干次。
j5 Z8 v/ f/ H. T& P0 A% f& L例1:rep(1:3, 1:3)/ G3 p) _ `6 L0 ~( F+ |4 k4 D
例2:rep(1:3, rep(2, 3))5 d3 v2 \4 v& v8 w& l2 _4 |
例3:rep(1:3, length = 10)
" \+ i$ J5 i2 a% g. F2 t8 d- y" L& p! q! ?# [% I0 T4 @5 |8 r$ g
3、向量运算:一般是对应元素之间的运算,所以两个或多个向量运算时,要求它们包含的元素个素相同(或一个是另一个的整数倍)。. G- F! |# g! ^' k
例1:a <- 1:3; b <- 4:6; a * b; b^a m; G& H% t8 ]; M2 A2 o
例2:a <- 1:3; b <- 4:9; a * b; b^a
' A* Z% E7 v r' @& Q! g3 Q# C9 O6 S1 |) a" k5 |1 C
4、获取向量某一个或多个子集,向量前的负号"-"表示去除相应内容。
, }# ~+ `0 X* |! K l( v例1:x <- c(3, 4, 5, 2, 6); x[1:2]; x[-(1:2)]6 i0 E6 p B2 [, Q B. I! [3 U
例2:x <- c(3, 4, 5, 2, 6); x[c(1, 2, 4, 1)]; x[-c(1, 2, 4, 1)]
/ c, t# t* t3 N0 Q+ {例3:xx <- seq(1, by = 3, length = 10); xx[xx > 13]. O; y: F$ o& [ v7 Y( V- P5 C+ e
例4:x <- 1:20; y <- -9:11; x[y > (1)] #注意最后一个是"NA"
5 w; P' N! R6 C& o+ z! j' u! q+ ~" T- U6 }+ \) ~6 ]9 @
5、主要向量运算函数。0 G }2 W% k; m) S, G8 w4 i
例1:xx <- c(2, 6, 10, 8, 4)
6 x$ N1 ^% X1 z" R5 z) [sum(xx) #和
: r9 i1 N/ w, q" c; X" \# umax(xx) #最大值+ x, o- ^+ v$ Q
min(xx) #最小值: ^* q% a& p+ O: `
range(xx) #取值范围
+ ^8 H% a( e- b$ emean(xx) #平均值
2 E! f$ D4 F9 ?( w( Rvar(xx) #方差
; I$ |, ~, v2 b S- [sort(xx) #从小到大排序
) m! W$ A! N7 j3 Brev(xx) #反排列, 所以从大到小排序应该是rev(sort(xx))
+ m2 |& j/ ^, y+ ^rank(xx) #单元值大小顺序
/ Y+ X3 `9 E9 Mprod(xx) #乘积,所以阶乘是prod(1:n)
! x6 i2 f; j8 @7 Y: R% v' c6 ]例2:x <- seq(1, 15, 2)
: U/ \9 _" h7 m/ \append(x, 20:30, after = 5) #插入数据0 l: l' [ F) S+ W1 S4 s
append(x, 20:30) #参数after缺省默认从向量的最后插入值; f5 ] `8 K! A, I8 ` u' t
replace(x, c(2, 4, 6), -1) #替换函数1 q1 I# J+ G9 ?6 L* t- Z0 h
例3:state.name" `% H5 k5 l Y$ b3 l8 `8 a
match(c('Ohio', 'Wyoming'), state.name) #完全匹配函数
8 J/ v. k. X7 X. `! ]8 ppmatch(c('Oh', 'Wy'), state.name) #部分匹配函数& j$ i/ x( r* o6 o9 G+ R3 @, @
state.name[pmatch(c('Oh', 'Wy'), state.name)]% h1 h( ~' O4 z* S8 R
例4:yy <- -9:10
; ^8 t' b/ _" L$ f! r Zall(yy > 0) #判断所有
/ W. ~$ V7 }, m! t( s3 k. Xall(yy > -10)! ~/ m3 v; {" y
any(yy == 0) #判断部分
( [/ n4 k- L) P% A6 C5 Dany(yy > 0), l! L# o9 a+ _# ^; K4 s, |
any(yy < -10)
& U8 J9 k, a5 b/ q! s5 J5 }
+ |0 C' r+ \4 J& ?8 R7 N7 v& j1 o. ^
|
zan
|