一、基本运算符号
1、基本数学计算
+、-、*、/、^、%%(求模)、%/%(整除) 注意:求模运算两边若为小数,则整数和小数部分分别求模。例:5.6%%2.2
2、比较运算
>、<、>=、<=、==、!=
3、逻辑运算
&、|、!、&&、||、xor 注意:运算符“逻辑与”和“逻辑或”存在两种形式,“&”和“|”作用在对象中的每一个元素上并且返回和比较次数相等长度的逻辑值;“&&”和“||”只作用在对象的第一个元素上。
xor为异或,两值不等为真,两值相等为假。例:xor(0, 1)
4、常见运算函数 abs、sqrt、exp、log、log10、log2 sin、cos、tan、asin、acos、atan、atan2 choose(n, k) #n个里面取k个的组合数 计算n!的方法:factorial(n); gamma(n+1); prod(1:n) sign(x) #返回x的正负号
二、R中计算的两个特点
1、向量化(逐个元素循环操作) 例:y=1:10; y+1; sqrt(y); 2、两个不等长的变量循环填充 例:x=1:3; y=1:10; z=x+y 注意:当两个变量长度不是整倍数的关系,会有警告信息。
三、向量常用统计函数
max、min、range(返回最小、最大两个值)、sum、prod(连乘Π)、mean、median(中位数)、var、sd、length、rev(取逆序)
match(x,y) #再y中逐个查找x,若有返回在y中匹配的位置,若无返回NA all、any #分别报告各元素是否全部或至少一个为TRUE
四、矩阵常用函数
t:转置(行列互换) cov、cor:协方差阵和协相关系数阵 diag:提取对角元素,输出为一个向量 rbind、cbind:按行合并、按列合并,可合并若干向量,也可合并若干矩阵 *:逐元乘积 %*%:代数乘积 crossprod:交叉乘积 det:矩阵的行列式值 eigen:特征根和特征向量 qr:QR分解 scale:对矩阵进行中心化和标准化
集合运算 union(x,y) #求并集 intersect(x,y) #求交集 setdiff(x,y) #求属于x而不属于y的所有元素 setequal(x,y) #判断x与y是否相等 a %in% y #判断a是否为y中的元素 choose(n, k) #n个里面取k个的组合数 combn(x,n) #x中的元素每次取n个的所有组合 combn(x,n,f) #将这些组合用于指定函数f
向量化(apply) apply(x, MARGIN, FUN) #MARGIN为1则逐行运算,2则逐列运算。FUN为所用函数。 当x为数组时,MARGIN可大于2,或使用c(1,2)表示按行列计算。 lapply、sapply:用于向量或列表,前者返回列表,后者返回矩阵或向量
附:峰度和偏度的计算 R默认不提供函数计算这两个值。 如果需要计算,可以自编公式或者使用fBasics包。 加载fBasics包,可使用以下命令进行计算: skewness(x) #偏度 kurtosis(x) #峰度 basicStates(x) #提供16个统计量
> x=rnorm(1000)
> basicStats(x)
x
nobs 1000.000000
NAs 0.000000
Minimum -3.263744
Maximum 3.462402
1. Quartile -0.706243
3. Quartile 0.652421
Mean -0.043407
Median 0.003339
Sum -43.406637
SE Mean 0.031843
LCL Mean -0.105894
UCL Mean 0.019081
Variance 1.014007
Stdev 1.006979
Skewness -0.029121
Kurtosis -0.179738
|
请发表评论