数学建模社区-数学中国
标题:
R语言入门——向量
[打印本页]
作者:
数模天下
时间:
2012-12-24 14:05
标题:
R语言入门——向量
向量(vector)
1、seq():产生有规律的数列,间距省略时默认值为1。
4 @! ^9 b D2 L$ W) o* M8 }2 N
例1:seq(10, 20, 0.5)
$ p+ Y8 w$ N+ V- m" F+ u% [
例2:seq(0, by = 0.03, length = 15)
( y* ~' E0 L* l( e
! U c" p* P* K5 F
2、rep():产生有规律的数列,重复第一个变量若干次。
* s9 |% U7 t8 ]5 `/ @* J
例1:rep(1:3, 1:3)
8 v1 ^3 s( ^. u7 N. U
例2:rep(1:3, rep(2, 3))
( v O+ b9 n' Y* o. ~# Y4 R4 g
例3:rep(1:3, length = 10)
/ w3 p& P C( B4 _: H
. J: C3 r# Q, E ]! C
3、向量运算:一般是对应元素之间的运算,所以两个或多个向量运算时,要求它们包含的元素个素相同(或一个是另一个的整数倍)。
' ~2 G) O+ o7 y+ m7 |6 o9 z
例1:a <- 1:3; b <- 4:6; a * b; b^a
, S3 P" E( i! Q3 w
例2:a <- 1:3; b <- 4:9; a * b; b^a
9 d: e( y$ P, d) Z( w7 w
+ F+ S, k' s: U2 c' B3 a& w5 T
4、获取向量某一个或多个子集,向量前的负号"-"表示去除相应内容。
/ r+ }8 L) D; v5 ^4 t
例1:x <- c(3, 4, 5, 2, 6); x[1:2]; x[-(1:2)]
5 D. u+ ~$ b* P8 o$ L9 B
例2:x <- c(3, 4, 5, 2, 6); x[c(1, 2, 4, 1)]; x[-c(1, 2, 4, 1)]
$ t4 f+ t6 M# R+ C* Y0 A4 t
例3:xx <- seq(1, by = 3, length = 10); xx[xx > 13]
: B [) N# j: s
例4:x <- 1:20; y <- -9:11; x[y > (1)] #注意最后一个是"NA"
6 I# ^8 v# P7 K4 r6 N2 D
" |, K! O) }4 B9 i* Z' u
5、主要向量运算函数。
& `9 g8 Q1 @, _8 m( H# t9 t% _
例1:xx <- c(2, 6, 10, 8, 4)
. o" j5 W; K7 ~, F0 e7 k" k
sum(xx) #和
3 b: _' h/ o6 c3 l! x8 w
max(xx) #最大值
6 H4 W* ^8 j; C+ f( J
min(xx) #最小值
0 Q# o, M- h/ T8 W3 ^
range(xx) #取值范围
~( }9 Q+ k9 }
mean(xx) #平均值
L9 n) | E7 m. f* P8 ]
var(xx) #方差
: ?8 r1 a* r1 N9 T+ J( c
sort(xx) #从小到大排序
$ F& }: [1 F r* N T# ~$ X' ?/ I
rev(xx) #反排列, 所以从大到小排序应该是rev(sort(xx))
9 H: v& b6 t7 {1 \2 }0 [
rank(xx) #单元值大小顺序
- s& a3 [) @& b u1 X
prod(xx) #乘积,所以阶乘是prod(1:n)
* o1 A ` Y2 O4 n
例2:x <- seq(1, 15, 2)
3 H& c0 Y( u$ t2 W# i5 c# B/ P
append(x, 20:30, after = 5) #插入数据
! E% \7 X) @- D8 I. C9 n
append(x, 20:30) #参数after缺省默认从向量的最后插入值
" p/ N0 W* W! K' y
replace(x, c(2, 4, 6), -1) #替换函数
5 p7 ]2 E/ n7 Q! R+ O
例3:state.name
- @- K4 q% K* }: H5 [/ f& {
match(c('Ohio', 'Wyoming'), state.name) #完全匹配函数
4 E/ \) t: }7 Y/ ~! B) O0 X
pmatch(c('Oh', 'Wy'), state.name) #部分匹配函数
6 y) {) k( f7 F! m# f
state.name[pmatch(c('Oh', 'Wy'), state.name)]
' x3 h' G$ i' R
例4:yy <- -9:10
) ]0 W: W- E$ n$ W
all(yy > 0) #判断所有
! I7 W/ C$ l& `: I! ~- Y
all(yy > -10)
1 Y/ l' y: s3 s1 a' c
any(yy == 0) #判断部分
8 s" ~: N9 ~+ [6 P% l% d
any(yy > 0)
7 k8 C& f% W' P4 M
any(yy < -10)
3 D" G! u ~$ ~* ?. h$ _8 c/ l3 ^
6 s% q. R. ~/ i( t( r
# c4 c' ~% o$ Z5 W* t
作者:
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