数学建模社区-数学中国
标题:
R语言入门——向量
[打印本页]
作者:
数模天下
时间:
2012-12-24 14:05
标题:
R语言入门——向量
向量(vector)
1、seq():产生有规律的数列,间距省略时默认值为1。
' _" W7 [) l7 Z3 t
例1:seq(10, 20, 0.5)
$ T% M; Z7 G& L- o( X
例2:seq(0, by = 0.03, length = 15)
/ p, x _4 S$ e
# B, U" g- j. l2 p
2、rep():产生有规律的数列,重复第一个变量若干次。
9 N2 B6 V' m% D2 W7 D7 Y- ~
例1:rep(1:3, 1:3)
" u \ o4 O9 V2 m# y% Y/ i
例2:rep(1:3, rep(2, 3))
6 A, f: b( t' p A7 S
例3:rep(1:3, length = 10)
+ Y' S5 v" F" V2 J
, S& k' T) c7 m+ k
3、向量运算:一般是对应元素之间的运算,所以两个或多个向量运算时,要求它们包含的元素个素相同(或一个是另一个的整数倍)。
1 S8 w0 L( V, g% ~1 k
例1:a <- 1:3; b <- 4:6; a * b; b^a
8 b. k, l0 n8 _ b- B
例2:a <- 1:3; b <- 4:9; a * b; b^a
; V: }8 u% `% @% c
" ]5 m7 t( I' @2 l
4、获取向量某一个或多个子集,向量前的负号"-"表示去除相应内容。
; m$ I6 b" b. c6 j2 F
例1:x <- c(3, 4, 5, 2, 6); x[1:2]; x[-(1:2)]
v8 j% {: c5 K/ i8 O
例2:x <- c(3, 4, 5, 2, 6); x[c(1, 2, 4, 1)]; x[-c(1, 2, 4, 1)]
% K" G, V* q: U
例3:xx <- seq(1, by = 3, length = 10); xx[xx > 13]
" v3 H0 W, f t, {# u r+ N2 V
例4:x <- 1:20; y <- -9:11; x[y > (1)] #注意最后一个是"NA"
4 A) v+ s( |$ I/ T
) t' P& R! w4 I- b6 d4 y
5、主要向量运算函数。
/ D2 ~- j- [. Z- [/ `9 I
例1:xx <- c(2, 6, 10, 8, 4)
( A; q2 K9 ~) c1 w# G T$ D
sum(xx) #和
0 M6 D9 E" M5 R; k2 x% u2 H9 V5 v* y
max(xx) #最大值
O( G) l, @4 a* t ~
min(xx) #最小值
, W. C! t2 t$ e+ @
range(xx) #取值范围
* U5 U( _" ^4 \5 U/ S
mean(xx) #平均值
7 |4 `5 ?6 }6 m
var(xx) #方差
% Z' F; K$ W5 D- K3 Z. a1 D- G4 d
sort(xx) #从小到大排序
! C5 ?1 Q: Z. Q: p+ T+ a7 P) v
rev(xx) #反排列, 所以从大到小排序应该是rev(sort(xx))
: x5 W* {( G, @! p5 w" Y
rank(xx) #单元值大小顺序
/ F6 q. }. K$ K) N
prod(xx) #乘积,所以阶乘是prod(1:n)
5 A+ W. s# T# Y1 o. _2 w' v( @* U
例2:x <- seq(1, 15, 2)
4 b! a3 F* p0 W( Y
append(x, 20:30, after = 5) #插入数据
0 V# }% w# m7 p* C6 ^% \& ]
append(x, 20:30) #参数after缺省默认从向量的最后插入值
, `. O/ Y( Y* [) C5 g
replace(x, c(2, 4, 6), -1) #替换函数
( [# q) h% I# p2 Q" ]! a: \- S
例3:state.name
6 F. c4 C4 g; F! s
match(c('Ohio', 'Wyoming'), state.name) #完全匹配函数
; L6 v) T$ f$ i
pmatch(c('Oh', 'Wy'), state.name) #部分匹配函数
& N4 S3 _4 I5 z2 y- P, o$ k
state.name[pmatch(c('Oh', 'Wy'), state.name)]
$ k' m1 T' v2 a2 Y `
例4:yy <- -9:10
# ?- E+ ?9 E- m6 d% _4 {3 R
all(yy > 0) #判断所有
9 R V$ p2 j8 W3 V) f6 X
all(yy > -10)
0 G! b! [6 a# `( [( n
any(yy == 0) #判断部分
+ w0 p5 l3 }% u1 h' M) m* L& z6 j
any(yy > 0)
, @/ ~3 b4 F6 s+ a. v
any(yy < -10)
" V3 R$ b, i6 N. p! @5 Z
+ L e! a! ^6 U. L; b# R4 u& q
3 B" M! ?/ O: G1 m9 S7 ]4 l/ @
作者:
winxblast
时间:
2013-1-31 11:28
好像看的人不多~
作者:
度过无风
时间:
2013-4-28 07:34
不错噢噢噢噢噢噢噢噢噢噢噢噢噢噢噢噢
作者:
maybelu9
时间:
2013-6-9 20:40
学到了
作者:
空木葬花
时间:
2014-3-4 18:20
非常感谢楼主的福利!
作者:
mvmmvmmvm
时间:
2014-6-6 12:01
这个用的不是很多吧,尤其是做数据分析的时候,一半数据都是存在数据文件里,而不是通过向量调用
作者:
添添向善
时间:
2014-7-14 10:33
不错啊,楼主继续啊!!!支持你!
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5