R软件第二讲-数据操作
R向量、多维数组和矩阵;常量 ;向量(Vector)与赋值 ;向量运算 ;可以用向量作为函数自变量,
sqrt、log、exp、sin、cos、tan等函数都可以用向量作自变量,结果是对向量的每一个元素取相应的函数值
函数min和max分别取向量自变量的最小值和最大值,
函数sum计算向量自变量的元素和,
函数mean计算均值,
函数var计算样本方差(分母为n-1),
函数sd计算标准差
如果求var(x)而x是矩阵,则结果为样本协方差阵。 (行向量为观测值);负数开根号要补充成复数形式
sqrt(-4)
[1] NaN
warning:……
sqrt(-4+0i)
[1] 2i;sort(x)返回x的元素从小到大排序的结果向量
order(x)返回使得x从小到大排列的元素下标向量(x[order(x)]等效于sort(x))。
x=c(2,4,8,6,10)
order(x)
[1] 1 2 4 3 5
x[order(x)]
[1] 2 4 6 8 10;最大最小值及其查询
x-c(5,2,4,1,10)
min(x)
[1] 2
max(x)
[1] 10
which.min(x)
[1] 4
which.max(x)
[1] 5
;产生有规律的数列;seq函数是更一般的等差数列函数。
如只指定一个自变量n0,则seq(n)相当于1:n 。指定两个自变量时,第一量是开始值,第二量是结束值,如seq(-2,3)是从-2到3,默认公差为1 。;有参数名的参数的次序任意,如:
seq(0, by=0.7, to=2)
[1] 0.0 0.7 1.4
可以用length参数指定数列长度,
如seq(from=10, length=5)产生10到14。
seq函数还可以用一种seq(along=向量名)的格式,这时只能用这一个参数,产生该向量的下标序列,如:;另一个类似的函数是rep,它可以重复第一个自变量若干次,例如:
rep(x,3)
[1] 1.00 4.00 6.25 1.00 4.00 6.25 1.00 4.00 6.25
第一个参数名为x,第二个参数名为times(重复次数)。
rep(x, each=3)
[1] 1.00 1.00 1.00 4.00 4.00 4.00 6.25 6.25 6.25
此外numeric(n)可以产生一个长度为n的零向量
;向量可以取逻辑值,如:
a = c(T, T, F)
a
[1] TRUE TRUE FALSE
当然,逻辑向量往往是一个比较的结果,如:
x -c(1.00, 4.00, 6.25)
b = x 3
b
[1] FALSE TRUE TRUE ;一个向量与常量比较大小,结果还是一个向量,元素为每一对比较的结果逻辑值。
两个向量也可以比较,如:
log(10*x)
[1] 2.302585 3.688879 4.135167
log(10*x) x
[1] TRUE FALSE FALSE
比较运算符包括,=,,=,==,!=。;两个逻辑向量可以进行与()、或(|)运算,结果是对应元素运算的结果。对逻辑向量x计算!x表示取每个元素的非。
例如:x=c(1,4,6.25,1.6)
(x 1.5) (x3)
[1] FALSE FALSE FALSE TRUE
判断一个逻辑向量是否都为真值的函数是all,如: all(log(10*x) x)
[1] FALSE
判断是否其中有真值的函数是any,如:
any(log(10*x) x)
[1] TRUE ; 函数is.na(x)用来判断x的每一个元素是否缺失。
如 is.na(c(1, NA, 3))
[1] FALSE TRUE FALSE
逻辑值可以强制转换为整数值,TRUE变成1,FALSE变成0。
例如,age65为老年人,否则为年轻人,
可以用c(“young”, “old”)[(age65)+1] 表示。
当年龄大于65时age65等于TRUE,加1则把TRUE转换为数值型的1,结果得2,于是返回第二个下标处的“old”。否则等于0+1下标处的“young”。
age=c(89,
原创力文档

文档评论(0)