建立变量
算术运算符
运算符 | 描述 |
---|---|
+ | 加 |
- | 减 |
* | 乘 |
/ | 除 |
^或** | 求余 |
x%%y | 求幂 |
x%%y | 整数除法 |
逻辑运算符
运算符 | 描述 |
---|---|
< | 小于 |
<= | 小于或等于 |
> | 大于 |
>= | 大于或等于 |
== | 严格等于 |
!= | 不等于 |
!x | 非x |
x&y | x和y |
isTRUE(x) | 测试x是否为TRUE |
变量重命名
fix(xxx),输入之后就会跳出数据编辑器,然后更改名字即可
fix(diamonds)
也可以通过names()函数来更改变量
names(diamonds)[1]<-"克拉"
缺失值
在R中缺失值以NA的方式表示,假设有向量a<-c(1,2,3,1,NA)。
输入is.na(用来检测缺失值是否存在)
a<-c(1,2,3,1,NA)
is.na(a)
数据操作
排序
可以使用order()函数对数据框进行排序,默认为升序,在排序变量前加上"-"号可以得到降序的结果
合并
添加列: 横向合并两个数据框,可以使用merge()函数(需要有共有变量连结),若不指定公共索引则使用cbind()函数。
添加行:可以使用cbind来纵向连接数据框。
高级数据管理
数学函数
函数 | 注释 |
---|---|
abs(x) | 绝对值 |
sqrt(x) | 平方根 |
ceiling(x) | 不小于x的整数 |
floor(x) | 不大于x的最大整数 |
trunc() | 向0的方向截取x的整数部分 |
round(x,digits=n) | 将x舍入指定位的小数 |
signif(x,digits=n) | 将x舍入为指定的有效数字位数 |
cos(x),sin(x),tan(x)… | 三角函数 |
log(x,base=n) | 以n为底的对数 |
log(x) | 自然对数 |
exp(x) | 指数函数 |
统计函数
函数 | 注释 |
---|---|
mean(x) | 平均数 |
median(x) | 中位数 |
sd(x) | 标准差 |
var(x) | 方差 |
mad(x) | 绝对中位差 |
quantile(x) | 求分位数 |
range(x) | 求值域 |
sum(x) | 求和 |
min(x) | 求最小值 |
max(x) | 求最大值 |
基本图形
条形图
绘制条形图可用barplot函数;
barplot(a,main="标题",col="颜色") #a为所要建立的因变量
饼图
可用函数pie()绘制
用pie3D()可绘制3d图(需要先下载这个包)
直方图
运用函数hist();
tips:条形图是用条形的长度表示各类别频数的多少,其宽度(表示类别)则是固定的;直方图是用面积表示各组频数的多少,矩形的高度表示每一组的频数或频率,宽度则表示各组的组距,因此其高度与宽度均有意义。
核密度图
plot(density(x))
用于估计随机变量概率密度函数的一种非参数方式
箱线图
boxpolt()
由最大值,上四分位数,中位数,下四分位数和最小值构成
点图
dotchart(x)
sampling
sample是从X中随机抽取size大小的样本。
> sample(1:3,2) #从1到3取两个数
[1] 1 2
> sample(c("Apple","Banana","Melon"),1)
[1] "Banana"
与概率分布有关的函数
factorial() #阶乘函数
> factorial(3)
[1] 6
prod() #用于求数组元素的乘积
> prod(30:27)
[1] 657720
choose(n,k) #从n个中选出k个
> choose(30,4)
[1] 27405
dbinom(x, size, prob) #每个点的概率密度分布
pbinom(x, size, prob) #事件的累积概率
qbinom(p, size, prob) #采用概率值,给出累积值与概率值匹配的数字
rbinom(n, size, prob) #从给定样本产生给定概率的所需数量的随机值
x是数字的向量。
p是概率向量。
n是观察的数量。
size是试验的数量。
prob是每个试验成功的概率。
泊松分布
泊松试验具有两个重要特征:
● 所考察的事件在任意两个长度相等的区间里发生一次的机会均等;
● 所考察的事件在任何一个区间里发生与否和在其他区间里发生与否没有相互影响,即独立。
# 假设每分钟内通过的汽车个数均值是20
# 求在一分钟内观察到30辆汽车通过的概率
# p(x==30)
dpois(30,20)
# 求在一分钟内观察到<=30辆汽车通过的概率
ppois(30,20)
# 求在一分钟内观察到>10辆汽车通过的概率
1-ppois(10,20)
# 60*p-100*(1-p) = 0
# 160*p-100=0
# p=10/16
qpois(10/16,20)
[1] 21
rp = rpois(60,20)
rp
[1] 27 18 21 23 15 20 29 22 20 20 17 16 17 19 21 19 25 17 19 18 22 16 19
[24] 33 27 30 22 20 22 14 19 21 18 18 17 26 16 20 21 31 19 23 18 12 20 10
[47] 12 18 22 16 17 19 19 19 20 17 20 24 23 18
泊松定理
P(x=k)= C n k C_n^k Cnk ( λ n ) 2 (\frac{\lambda}{n})^2 (nλ)2 ( 1 − λ n ) (1-\frac{\lambda}{n}) (1−nλ)
证明