- 在线时间
- 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。
1 m5 L2 F; t8 p! F% N例1:seq(10, 20, 0.5)9 A6 }2 S( B P" j1 O
例2:seq(0, by = 0.03, length = 15)
! ^) p; q2 C2 A: h) L7 q1 {* ?: m4 H0 K$ t: K0 a
2、rep():产生有规律的数列,重复第一个变量若干次。
' q y1 X5 e+ H4 J, N* k例1:rep(1:3, 1:3)5 K2 R$ I+ W/ p& H0 V- Z" q
例2:rep(1:3, rep(2, 3))* A7 p. B- P& F$ }& |2 H
例3:rep(1:3, length = 10)8 E4 }( o! K% H1 ] ~; w( N
" c% x0 ]8 M z( P1 U* L' H7 R. H7 G
3、向量运算:一般是对应元素之间的运算,所以两个或多个向量运算时,要求它们包含的元素个素相同(或一个是另一个的整数倍)。
6 z& o9 l8 g" S例1:a <- 1:3; b <- 4:6; a * b; b^a4 f/ q5 [; A2 Z; \9 ^8 B
例2:a <- 1:3; b <- 4:9; a * b; b^a% h4 V! s! q6 ?
. d3 h H6 z+ {5 W- w
4、获取向量某一个或多个子集,向量前的负号"-"表示去除相应内容。4 e- S" e% L" Z
例1:x <- c(3, 4, 5, 2, 6); x[1:2]; x[-(1:2)]
0 O% v" X& ]. G- b3 [* x8 ]例2:x <- c(3, 4, 5, 2, 6); x[c(1, 2, 4, 1)]; x[-c(1, 2, 4, 1)]
( ~: H/ d5 t, x2 Q& R9 p: Y例3:xx <- seq(1, by = 3, length = 10); xx[xx > 13]
8 |+ n0 q7 k/ S9 x# s例4:x <- 1:20; y <- -9:11; x[y > (1)] #注意最后一个是"NA"
0 z* [( q/ F/ G3 d; b6 r/ [" I% m g6 ^+ Y: p
5、主要向量运算函数。 W1 ^/ P: l- T& Q8 i2 }, q
例1:xx <- c(2, 6, 10, 8, 4)% T, G O+ v4 ?
sum(xx) #和
. i$ M+ I" e4 S6 Jmax(xx) #最大值5 E& H \" p( T& w' |! }; z5 C
min(xx) #最小值
3 w0 C: o: @% ]' |range(xx) #取值范围
* x& B0 ?2 X4 v) ?. Fmean(xx) #平均值
J! x5 R9 S! \9 M$ vvar(xx) #方差" \' G. G; i# W$ j
sort(xx) #从小到大排序' |. h# Y8 I [# Q- \7 Q& s
rev(xx) #反排列, 所以从大到小排序应该是rev(sort(xx))
! h" u0 `2 i4 crank(xx) #单元值大小顺序* x8 n+ v9 i# b p# D# j
prod(xx) #乘积,所以阶乘是prod(1:n)7 U! N, }' v: m- I9 i
例2:x <- seq(1, 15, 2)0 v m9 P& A7 D- K
append(x, 20:30, after = 5) #插入数据
$ V. J7 y; N- @* n! pappend(x, 20:30) #参数after缺省默认从向量的最后插入值' ^6 q6 V; I, J* y0 `4 u( w
replace(x, c(2, 4, 6), -1) #替换函数
& A- i3 Q" X0 ~& l6 F例3:state.name
, e: m; O/ j' | Q# omatch(c('Ohio', 'Wyoming'), state.name) #完全匹配函数# B( Q+ ^+ ^$ q# C0 \7 G, u# F
pmatch(c('Oh', 'Wy'), state.name) #部分匹配函数' O1 x1 H9 u w. D Z8 i5 V& P! R, K
state.name[pmatch(c('Oh', 'Wy'), state.name)]
5 N$ F* o- L5 j9 ^4 L# A+ ~例4:yy <- -9:10
# u+ ?6 P# d1 m9 Q* r; zall(yy > 0) #判断所有
1 ~! M8 j( i9 b# m. q7 ^. Kall(yy > -10)' n6 m* B+ c: I+ I2 b# W
any(yy == 0) #判断部分3 N4 N) I7 \. q. m8 I7 Y
any(yy > 0)
, M! f/ C( M6 Z9 c4 Fany(yy < -10)& X0 A' |* e; b% _
2 D( C2 c% N. T# T
: [& {, T8 Y4 I0 `5 W8 I; b1 u
|
zan
|