#【R语言】向量、多维数组和矩阵
向量
常量
常量为:数值型、逻辑型和字符型三种,其中
- 数值型数据如:123,123.45,1.2345e30
- 字符型如:“Weight”,“李明”是字符型;
- 逻辑真值写为T或TRUE(注意区分大小写,写t或true都没意义),逻辑假值写为F或FALSE。
R中的数据可以取缺失值即NA(not avaliable)
数据可以直观地表示为一下的样子:
说废话是一件浪费生命的事情,因此,我不再照本宣科,也不需要抱着什么目的来写这份笔记,这是一份
R语言
笔记而已
向量的运算
-
在对向量进行运算的时候,实际上是对
向量的每一个元素进行运算
-
两个向量的运算是对应的分量的运算,如果长度不一致,则短的向量会被循环使用
-
可以用向量作为函数自变量,
sqrt、log、exp、sin、cos、tan等函数都可以用向量作自变量,结果是对向量的每一个元素取相应的函数值
函数min和max分别取向量自变量的最小值和最大值,
函数sum计算向量自变量的元素和,
函数mean计算均值,
函数var计算样本方差(分母为n-1),
函数sd计算标准差
如果求var(x)而x是矩阵,则结果为样本协方差阵。 (行向量为观测值,列为指标变量) -
sort(x)返回x的元素从小到大排序的结果向量
order(x)返回使得x从小到大排列的元素下标向量 -
任何数与缺失值的运算结果仍为缺失值。
向量中最大值和最小值的查询
>x<-c(2,3,5,7,8,9)
# 获取最大值和最小值
>max(x)
>min(x)
# 获取最值的位置
>which.max(x)
>which.min(x)
产生一组有规律的数列
在R中很容易产生一个等差数列。
例如,1:n产生从1到n的整数列,
-2:3产生从-2到3 的整数列,
5:2产生反向的数列:
注意优先级
1:n-1不是代表1到n-1而是向量1:n减去1,
> 1:n-1
[1] 0 1 2 3 4
>1:(n-1)
[1] 1 2 3 4
seq函数是更一般的等差数列函数。
如只指定一个自变量n>0,则seq(n)相当于1:n 。指定两个自变量时,第一量是开始值,第二量是结束值,如seq(-2,3)是从-2到3,默认公差为1 。
>seq(from=0, to=2, by=0.7)
# 也可以加入length参数
>seq(from=10, length=5)
另一个类似的函数是rep,它可以重复第一个自变量若干次。
x = 1,4.6,6.25
rep(x,3)
>>
1.00 4.00 6.25 1.00 4.00 6.25 1.00 4.00 6.25
此外numeric(n)可以产生一个长度为n的零向量
逻辑向量
判断一个逻辑向量是否都为真值的函数是all
判断是否其中有真值的函数是any
x<-c(1, 4, 6.25, 1.6)
all(log(10*x) > x)
# FALSE
any(log(10*x) > x)
# TRUE
函数is.na(x)用来判断x的每一个元素是否缺失。
is.na(c(1, NA, 3))
#FALSE TRUE FALSE
逻辑值可以强制转换为整数值,TRUE变成1,FALSE变成0。
age>65为老年人,否则为年轻人,
可以用c(“young”, “old”)[(age>65)+1] 表示。