- 在线时间
- 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。
& S! D0 y- x/ U4 H' o例1:seq(10, 20, 0.5)
$ k$ V4 q/ b \: G% _7 ?& ?例2:seq(0, by = 0.03, length = 15)
6 r5 H9 p( g9 B D& y8 g0 U
I) ^% s6 G5 u; t) T- x2、rep():产生有规律的数列,重复第一个变量若干次。, T" |* l, Z$ [$ u
例1:rep(1:3, 1:3)
! B7 p& F7 f( a: `$ Y例2:rep(1:3, rep(2, 3))% p6 P+ X: @3 J. ]0 m% U
例3:rep(1:3, length = 10)7 [1 x, n: D5 x+ b
: \0 A; }/ f3 h3 F, F. |3、向量运算:一般是对应元素之间的运算,所以两个或多个向量运算时,要求它们包含的元素个素相同(或一个是另一个的整数倍)。1 a% y, w6 F8 s1 H9 N' A
例1:a <- 1:3; b <- 4:6; a * b; b^a
( z: _5 G0 f9 A5 u' F% z2 Q7 P例2:a <- 1:3; b <- 4:9; a * b; b^a
) z7 j; H- T, S0 b7 J$ s) K8 E ?4 u
4、获取向量某一个或多个子集,向量前的负号"-"表示去除相应内容。
% d6 B" \+ D, d& d例1:x <- c(3, 4, 5, 2, 6); x[1:2]; x[-(1:2)]
r+ R, e/ Q4 u- `例2:x <- c(3, 4, 5, 2, 6); x[c(1, 2, 4, 1)]; x[-c(1, 2, 4, 1)]2 w" V- y# d$ s) O0 b
例3:xx <- seq(1, by = 3, length = 10); xx[xx > 13]
; n, r! A8 ~$ Z( d: }例4:x <- 1:20; y <- -9:11; x[y > (1)] #注意最后一个是"NA"' D7 i5 t! F0 e- }6 a4 F3 @
: q: p0 F. d- C3 M+ Z
5、主要向量运算函数。
- s1 {( H3 W% }3 ^( a/ |例1:xx <- c(2, 6, 10, 8, 4)+ @8 L* D& P$ Z9 G' \3 K1 V$ f( P
sum(xx) #和
* z: J1 I; f$ r! Qmax(xx) #最大值
" h/ T+ e' {1 b) a6 [" \min(xx) #最小值: B4 y) ~( n8 M) c! H
range(xx) #取值范围
; W3 Q2 v6 Z7 M. cmean(xx) #平均值
9 O! g! @, {$ o. |3 b% S; Qvar(xx) #方差
2 w1 ~% \. w8 j7 O. {; Lsort(xx) #从小到大排序
. y4 _- s7 z/ I; _" `# Urev(xx) #反排列, 所以从大到小排序应该是rev(sort(xx))
+ [+ N2 A( o; A8 F+ G: d t! Arank(xx) #单元值大小顺序$ k. U Y+ a, R
prod(xx) #乘积,所以阶乘是prod(1:n)& q" u4 B2 O! l. z! ^ Z1 }
例2:x <- seq(1, 15, 2)3 B- J w; W& U+ g5 i( ^9 V
append(x, 20:30, after = 5) #插入数据
" u0 J. N. f( j" L% |4 U6 C2 ^append(x, 20:30) #参数after缺省默认从向量的最后插入值* h# N% a, m" p* k' |
replace(x, c(2, 4, 6), -1) #替换函数
' H' {" n, A6 P. y例3:state.name# c% e _6 ?3 x9 ]6 b3 }
match(c('Ohio', 'Wyoming'), state.name) #完全匹配函数8 t. D/ |. ^; b' G, i7 e3 [" f
pmatch(c('Oh', 'Wy'), state.name) #部分匹配函数$ g5 c- r9 L! v- Q8 v* i) z( i! A
state.name[pmatch(c('Oh', 'Wy'), state.name)]
8 z+ d% x S3 j3 t4 V例4:yy <- -9:10
& Q8 [+ D9 X% q. K1 k$ w9 A9 t4 y6 fall(yy > 0) #判断所有5 k8 F) |6 Y* \$ S
all(yy > -10)
6 q0 v2 x1 P1 kany(yy == 0) #判断部分
; D# b% @' {& a1 Oany(yy > 0)) P8 l4 V) A4 {/ N2 Z( i
any(yy < -10)
# p' ?) L+ j, {. n& B/ Z
$ S q& n! x& H5 }- @( {( i
! C) a/ R7 k/ U |
zan
|