|
向量(vector)1、seq():产生有规律的数列,间距省略时默认值为1。
例1:seq(10, 20, 0.5)
例2:seq(0, by = 0.03, length = 15)
2、rep():产生有规律的数列,重复第一个变量若干次。
例1:rep(1:3, 1:3)
例2:rep(1:3, rep(2, 3))
例3:rep(1:3, length = 10)
3、向量运算:一般是对应元素之间的运算,所以两个或多个向量运算时,要求它们包含的元素个素相同(或一个是另一个的整数倍)。
例1:a <- 1:3; b <- 4:6; a * b; b^a
例2:a <- 1:3; b <- 4:9; a * b; b^a
4、获取向量某一个或多个子集,向量前的负号"-"表示去除相应内容。
例1:x <- c(3, 4, 5, 2, 6); x[1:2]; x[-(1:2)]
例2:x <- c(3, 4, 5, 2, 6); x[c(1, 2, 4, 1)]; x[-c(1, 2, 4, 1)]
例3:xx <- seq(1, by = 3, length = 10); xx[xx > 13]
例4:x <- 1:20; y <- -9:11; x[y > (1)] #注意最后一个是"NA"
5、主要向量运算函数。
例1:xx <- c(2, 6, 10, 8, 4)
sum(xx) #和
max(xx) #最大值
min(xx) #最小值
range(xx) #取值范围
mean(xx) #平均值
var(xx) #方差
sort(xx) #从小到大排序
rev(xx) #反排列, 所以从大到小排序应该是rev(sort(xx))
rank(xx) #单元值大小顺序
prod(xx) #乘积,所以阶乘是prod(1:n)
例2:x <- seq(1, 15, 2)
append(x, 20:30, after = 5) #插入数据
append(x, 20:30) #参数after缺省默认从向量的最后插入值
replace(x, c(2, 4, 6), -1) #替换函数
例3:state.name
match(c('Ohio', 'Wyoming'), state.name) #完全匹配函数
pmatch(c('Oh', 'Wy'), state.name) #部分匹配函数
state.name[pmatch(c('Oh', 'Wy'), state.name)]
例4:yy <- -9:10
all(yy > 0) #判断所有
all(yy > -10)
any(yy == 0) #判断部分
any(yy > 0)
any(yy < -10)
|
|