清屏命令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