- 在线时间
- 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。+ F4 M1 [% H( d4 V, z3 _, _8 C" X l
例1:seq(10, 20, 0.5)
# l, N- O" D5 X例2:seq(0, by = 0.03, length = 15)+ g: Y- d- P# b
6 D- k0 ^- N" z& W: s
2、rep():产生有规律的数列,重复第一个变量若干次。
. |& N: n( M* T8 ?5 b: \" _) f例1:rep(1:3, 1:3)& l8 N5 H3 U6 b4 a/ g
例2:rep(1:3, rep(2, 3))3 @3 _+ s, o# t3 p% j# Q
例3:rep(1:3, length = 10)' o1 ]; r6 H( @8 V% D9 E
h. u% N% N, \& _: u! I6 v
3、向量运算:一般是对应元素之间的运算,所以两个或多个向量运算时,要求它们包含的元素个素相同(或一个是另一个的整数倍)。
. h( i2 X9 n' n, j# b& G3 ~/ Y" q( N! W例1:a <- 1:3; b <- 4:6; a * b; b^a+ o5 E& E3 G y+ Q7 w6 Z4 Y
例2:a <- 1:3; b <- 4:9; a * b; b^a) l9 L( Z8 M, t e6 G" F7 W
9 _; U+ P) l/ z/ m) A8 P% w
4、获取向量某一个或多个子集,向量前的负号"-"表示去除相应内容。7 E9 H) D8 }# X) p+ v% i
例1:x <- c(3, 4, 5, 2, 6); x[1:2]; x[-(1:2)]4 x# c( l) [4 f3 t
例2:x <- c(3, 4, 5, 2, 6); x[c(1, 2, 4, 1)]; x[-c(1, 2, 4, 1)]
5 T: m4 K2 X8 M& h, R5 Q例3:xx <- seq(1, by = 3, length = 10); xx[xx > 13]/ r! H. K* \8 W( [5 T" ^- |
例4:x <- 1:20; y <- -9:11; x[y > (1)] #注意最后一个是"NA"
- A# Q( y: `1 ~ K$ g W' k) R5 o- U) g" W$ c i6 f- y3 N
5、主要向量运算函数。$ \( Y; c% N- a# S
例1:xx <- c(2, 6, 10, 8, 4)" y" |9 ~' y% |
sum(xx) #和
3 y0 f' P% a9 F# Gmax(xx) #最大值7 D' _6 D; E* p& @% N8 Y, {% I7 h
min(xx) #最小值
/ c: W, h/ v/ n% P% k Grange(xx) #取值范围
% c3 y) g* b% P( [. }mean(xx) #平均值' L3 o4 O2 r1 B; Z1 p5 x9 h9 {6 u
var(xx) #方差
/ {9 x- F: o, ^( a* Q* `2 n; Xsort(xx) #从小到大排序
: q D8 U2 B: W6 Z. B- {rev(xx) #反排列, 所以从大到小排序应该是rev(sort(xx))( x; l( E% s/ v
rank(xx) #单元值大小顺序# N) s( A; y/ H* i# W
prod(xx) #乘积,所以阶乘是prod(1:n)) Q, C' E: C* m# T/ M
例2:x <- seq(1, 15, 2)
. L D3 I z4 x6 N) tappend(x, 20:30, after = 5) #插入数据
B3 v! c& ?+ A, ~append(x, 20:30) #参数after缺省默认从向量的最后插入值
7 K e; v+ D, u& }replace(x, c(2, 4, 6), -1) #替换函数
, N5 J1 e" k1 [: e, c例3:state.name) J7 t: t( _% s1 D3 h3 X; U/ j; J7 e
match(c('Ohio', 'Wyoming'), state.name) #完全匹配函数
9 D# W4 x8 q$ c& k0 rpmatch(c('Oh', 'Wy'), state.name) #部分匹配函数* i9 g% Z( O$ W2 k; @
state.name[pmatch(c('Oh', 'Wy'), state.name)]
2 I- u4 m4 K$ _- u, F1 k例4:yy <- -9:104 p: g/ Y& X1 M# z' H0 D! k
all(yy > 0) #判断所有" V. \+ t0 _& K1 u
all(yy > -10)( g8 U/ ~, l& ]
any(yy == 0) #判断部分) D: y) y2 t: O6 v& h5 n+ \( a
any(yy > 0)5 R% S4 v2 u0 J$ W, k
any(yy < -10)* e7 H1 P# s% x5 Z! M
4 t- U0 k% g3 s- b
s% }% L" u" @4 y7 N) m- w6 Q: V
|
zan
|