逐个分析之,
若a是列表,
sum(a)就是a的元素总和(结果是单个元素)
cumsum(a)就是a的元素累进求和(结果是列表)
而元素与列表进行+或-的运算时,元素会被广播(broadcast)成一个相同长度的列表,使列表对位元素之间进行计算,得新列表
e.g.cumsum(1:5)得
1 3 6 10 15
e.g.
a=1:5
sum(a)+a-cumsum(a)
15 14 12 9 5
可以进行那些常规的算术运算,不同长度的向量可以相加,这种情况下最短的向量将被循环使用。
改变编译环境的语言(英语)
Sys.setenv(LANGUAGE="en")
>x <- 1:4
>a <- 10
>x * a
[1] 10 20 30 40
>x + a
[1] 11 12 13 14
>sum(x)#对x中的元素求和
[1] 10
>prod(x) #对x中的元素求连乘积
[1] 24
R语言常用数学函数sum()、max()、min()、mean()、median()
prod(x) 对x中的元素都连乘
which.max(x) 返回x中最大元素的下标
which.min(x) 返回x中最小元素的下标
range(x) 值域
rev(x) 对x中的元素取逆序
sort(x) 将x中的元素将升序排列
pmin(x,y) 返回一个向量,它的第i个元素是x[i],y[i] 中最小值
pmax(x,y) 返回一个向量,它的第i个元素是x[i],y[i] 中最大值
cumsum(x) 求累积和,返回一个向量,第i个元素等于x[1]到x[i]的和
cumprod(x) 求累积(从左到右)乘积
cummin(x) 求累积最小值(从左到右)
cummax(x) 求累积最大值(从左到右)
match(x,y) 返回一个和x的长度相同的向量,第i个元素表示y中与x[i]相同的元素的位置(没有则返回NA)
na.omit(x) 函数忽略有缺失值(NA)的观察数据(如果x是矩阵或数据框则忽略相应的行)
na.fail(x) 如果x包含至少一个NA则返回一个错误消息
which() 返回符合条件的元素的下标
choose 组合数,二项式,例choose(4,2) 返回6
rep(x,y) 将x重复y次
unique(x) 去掉重复的元素,只取一个
table(x) 返回一个列表,给出y中重复元素的个数列表
subset(x,条件) 返回x中满足特定条件的子集