- 在线时间
- 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。
. f# e7 n- j. f) M+ ^9 w例1:seq(10, 20, 0.5)
* [6 O f( j* y" C {. A/ V1 B$ b+ l例2:seq(0, by = 0.03, length = 15) h3 S `, H g% m
0 I# I5 I" ?3 G6 I. A+ x, w
2、rep():产生有规律的数列,重复第一个变量若干次。1 }- _- f* f( h3 L) F. T2 y8 L
例1:rep(1:3, 1:3)
$ c9 |+ o+ t1 J: c1 Z! d例2:rep(1:3, rep(2, 3))0 v' [/ b! s2 j% j8 z1 K
例3:rep(1:3, length = 10)6 {. B8 X# c$ t
5 X3 v0 b3 M" O* R+ p' j0 X3、向量运算:一般是对应元素之间的运算,所以两个或多个向量运算时,要求它们包含的元素个素相同(或一个是另一个的整数倍)。% a8 b3 H% `% m8 X `- o
例1:a <- 1:3; b <- 4:6; a * b; b^a
! ]8 R8 K# W0 V例2:a <- 1:3; b <- 4:9; a * b; b^a$ j, A) |4 i" D: m H# k
4 a2 Q. A- ]) Y) Z$ s4、获取向量某一个或多个子集,向量前的负号"-"表示去除相应内容。% Q" `8 E& q4 g) @8 R! Q
例1:x <- c(3, 4, 5, 2, 6); x[1:2]; x[-(1:2)]# z" {# g* [( c$ u H
例2:x <- c(3, 4, 5, 2, 6); x[c(1, 2, 4, 1)]; x[-c(1, 2, 4, 1)]
* e0 d+ W6 ~, t1 a! Q* x, E, D' E例3:xx <- seq(1, by = 3, length = 10); xx[xx > 13]) u1 }4 C# U; x7 x- g/ |
例4:x <- 1:20; y <- -9:11; x[y > (1)] #注意最后一个是"NA"
2 a( e0 T& p% k( Y' z' ?( D1 l' w) D* B, e* F$ u: g& v- Y
5、主要向量运算函数。
9 \$ ?4 B. l+ _0 A+ t例1:xx <- c(2, 6, 10, 8, 4)8 M V9 f# G9 h& f! d- K& z$ U
sum(xx) #和
- W4 B7 ^$ ]* F! b$ u8 ~! emax(xx) #最大值7 G6 Y1 I0 ^$ i- z$ Y0 G7 b. C Z
min(xx) #最小值
- ]: U" e7 i) @* m) c! ^$ ]; Z% drange(xx) #取值范围
$ D8 H! n4 Z8 Umean(xx) #平均值1 i# y4 ~" v( o
var(xx) #方差 K4 c& K% S+ ?9 S( W {! H
sort(xx) #从小到大排序
}* n: V; n, x. Wrev(xx) #反排列, 所以从大到小排序应该是rev(sort(xx))1 q6 m( H6 `) J4 {0 o! b" G
rank(xx) #单元值大小顺序8 a+ s; h6 k. u$ Y, ?7 a# f7 H& j
prod(xx) #乘积,所以阶乘是prod(1:n)( E* P! S2 Q, ?$ G& C. ^( V
例2:x <- seq(1, 15, 2)
% \ R: G. m) e9 Aappend(x, 20:30, after = 5) #插入数据7 F- o8 c( ?( A/ Z& d
append(x, 20:30) #参数after缺省默认从向量的最后插入值# B0 b+ R# w8 f1 ^
replace(x, c(2, 4, 6), -1) #替换函数* L% [# o& h7 T0 e- s1 y
例3:state.name) _- X% W3 Z% s7 `
match(c('Ohio', 'Wyoming'), state.name) #完全匹配函数+ z1 [# e7 x+ l1 U3 t; L; e+ [
pmatch(c('Oh', 'Wy'), state.name) #部分匹配函数
7 O/ @6 i* T# t3 Pstate.name[pmatch(c('Oh', 'Wy'), state.name)]( x& S( y) ]! ]8 `6 `7 n
例4:yy <- -9:106 R \6 j: B) P3 a4 `5 }
all(yy > 0) #判断所有0 A! l t9 A! D* m
all(yy > -10)! O5 F1 `! j: X {7 O( [4 N% l) |
any(yy == 0) #判断部分
: P$ K1 c! [' R5 _' F0 p Gany(yy > 0)
4 }; ?2 ?8 K: [7 K. e: Lany(yy < -10)
7 E7 W/ N3 S/ r- c
9 }& C1 B( @: B! B! x/ A8 j# O. V6 N
|
zan
|