统计编程的框架与R语言统计分析基础——摘(1)

时间:2023-03-08 16:25:59
统计编程的框架与R语言统计分析基础——摘(1)

清屏命令ctrl+L

一、基础

1、产生数据结构

a、直接输入

b、冒号,1:10

c、seq函数

d、rep函数

> 1:10
[1] 1 2 3 4 5 6 7 8 9 10
> 10:2
[1] 10 9 8 7 6 5 4 3 2
> seq(1,10)
[1] 1 2 3 4 5 6 7 8 9 10
> seq(1,10,2)
[1] 1 3 5 7 9
> rep(2,4)
[1] 2 2 2 2
> rep(1:3,times=3)
[1] 1 2 3 1 2 3 1 2 3
> rep(x=1:3, each=3)
[1] 1 1 1 2 2 2 3 3 3
> rep(1:3,1:3)
[1] 1 2 2 3 3 3

2、数据产生

a、c()函数产生向量

b、matrix()函数产生矩阵

c、data.frame()函数产生数据框

d、factor()函数产生因子

e、list()函数产生列表

f、ts()函数产生时间序列

> x = c(3,4,6)
> x
[1] 3 4 6
> matrix(1:10,2)
[,1] [,2] [,3] [,4] [,5]
[1,] 1 3 5 7 9
[2,] 2 4 6 8 10
> matrix(1:10,nrow=2,ncol=5,byrow=T)
[,1] [,2] [,3] [,4] [,5]
[1,] 1 2 3 4 5
[2,] 6 7 8 9 10
> x = data.frame(1:5, 6:10)
> x
X1.5 X6.10
1 1 6
2 2 7
3 3 8
4 4 9
5 5 10
> x = cbind(x, c('a','b','c','d','e')) #绑上一列字符
> x
X1.5 X6.10 c("a", "b", "c", "d", "e")
1 1 6 a
2 2 7 b
3 3 8 c
4 4 9 d
5 5 10 e
> dimnames(x)                    #查看x的行列名
[[1]]
[1] "" "" "" "" "" [[2]]
[1] "X1.5" "X6.10"
[3] "c(\"a\", \"b\", \"c\", \"d\", \"e\")" > colnames(x)                    #只看列名
[1] "X1.5" "X6.10"
[3] "c(\"a\", \"b\", \"c\", \"d\", \"e\")"
> colnames(x) = c('X1','X2','X3')        #改列名
> x
X1 X2 X3
1 1 6 a
2 2 7 b
3 3 8 c
4 4 9 d
5 5 10 e

3、运算

%%  余数

%/%  整数商

^    乘方

& | !  逻辑运算

4、下标的使用(获取元素)  用中括号[]

> x = 1:10
> x
[1] 1 2 3 4 5 6 7 8 9 10
> x[x>6]
[1] 7 8 9 10
> x[x>6 & x<9]
[1] 7 8
> x = matrix(1:20, 4)
> x
[,1] [,2] [,3] [,4] [,5]
[1,] 1 5 9 13 17
[2,] 2 6 10 14 18
[3,] 3 7 11 15 19
[4,] 4 8 12 16 20
> x[x>2 & x<14]
[1] 3 4 5 6 7 8 9 10 11 12 13
> x[x>2 & x<14] = NA
> x
[,1] [,2] [,3] [,4] [,5]
[1,] 1 NA NA NA 17
[2,] 2 NA NA 14 18
[3,] NA NA NA 15 19
[4,] NA NA NA 16 20

二、一些数字和统计函数

1、

max()     min()    mean()    

标准差sd()    方差var()    相关系数cor()

求和sum()    求积prod()

中位数median()   分位数quantile()

对数log()    指数exp()

排列factorial()  组合choose()

四舍五入round()  向下取整floor()  向上取整ceiling()

总结summary()

2、

累加cumsum()  秩rank()  排序sort()  倒序rev()

矩阵转置t()  逆矩阵solve()  特征根eigen()

三、流程控制

> x = 6
> while(x>1 & winDialog("yesno",message="you are sb")!='YES')
+ x = x-1