R语言-向量构造及函数构造
1,生成向量的方法
(1) seq()函数
[ruby] view plain copy
> x=seq(from=1, to=5, by=0.5)
> x
# [1] 1.0
1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0
http://www.cda.cn/uploadfile/image/20180314/20180314070818_65857.png
(2)rep()函数
[ruby] view plain copy
> x=rep(pi, times=5)
> x
# [1]
3.141593 3.141593 3.141593 3.141593 3.141593
(3)seq 与 rep 结合使用
[ruby] view plain copy
> x=rep(seq(from=1,to=5,by=1), times=5)
> x
# [1] 1 2 3
4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5
(4)自主建立向量
[ruby] view plain copy
> x=c(rep(seq(from=1,to=5,by=1), times=2),pi,17,24)
> x
# [1] 1.000000
2.000000 3.000000
4.000000 5.000000
1.000000 2.000000 3.000000
# [9] 4.000000
5.000000 3.141593 17.000000 24.000000
2,选择向量元素
(1)x[ i ] 形式,i表示下标位
[ruby] view plain copy
> x
#
[1] 1.000000
2.000000 3.000000
4.000000 5.000000
1.000000 2.000000 3.000000
#
[9] 4.000000
5.000000 3.141593 17.000000 24.000000
> x[11]
# [1]
3.141593
(2)x[ m: n] 形式,选择一段元素
[ruby] view plain copy
> x[c(11:13)]
#
[1] 3.141593 17.000000 24.000000
> x[seq(from=11,to=13,b=1)]
#用了seq函数
#
[1] 3.141593 17.000000 24.000000
(3)使用逻辑向量从数据向量中选择元素
[ruby] view plain copy
> x>3 # 逻辑判断x的各元素
# [1] FALSE
FALSE FALSE TRUE TRUE FALSE
FALSE FALSE TRUE
TRUE TRUE
TRUE TRUE
> x[x>3] #选择TRUE的位置的元素
#
[1] 4.000000
5.000000 4.000000
5.000000 3.141593 17.000000 24.000000
> x%%2==0 #选择奇数
# [1]
FALSE TRUE FALSE TRUE FALSE
FALSE TRUE FALSE TRUE FALSE
FALSE FALSE TRUE
> x[x%%2==1]
#
[1] 1 3
5 1 3 5 17
(4)自定义行名,取数
[ruby] view plain copy
> year=c(1983,1982,1988,1990)
> names(year)=c('A','B','C','D')
> year
#
A
B
C
D
# 1983 1982
1988 1990
> year[c('A','D')]
#
A
D
# 1983
1990
3,函数编写
(1)if选择函数
[ruby] view plain copy
fun.test
<- function(a, b, method =
"add"){ ##
function关键字,fun.test函数名
if(method ==
"add"){