> #别人不想做的,或者不屑与做的,我也要努力的去做。每次做一点,积累。
Business Intelligence 简写为BI
BI=数据仓库(存储层datawarehouses)+数据分析和数据挖掘(分析层datamining data exploration)+报表(变现层Data Presentations)
#1.函数:c(),length(),mode(),rbind(),cbind()
> x1 <-c(1,2,3,4)#创建向量
> x2 <-c(2,4,5,6)
> plot(x1,x2)#画图函数
> #输入数据,读数据(文件,数据库文件)
> mode(x1)#查看数据类型
[1]"numeric"
> rbind(x1,x2)#以行来创建矩阵
[,1] [,2] [,3] [,4]
x1 1 2 3 4
x2 2 4 5 6
> cbind(x1,x2)#以列来创建矩阵
x1 x2
[1,] 1 2
[2,] 2 4
[3,] 3 5
[4,] 4 6
> cbind(x1,x2)#把向量按列存放的矩阵。
x1 x2
[1,] 1 2
[2,] 2 4
[3,] 3 5
[4,] 4 6
> x = c(1:100)
#2.求平均数,和,连乘=阶乘,最值,方差,标准差
> mean(x)
[1] 50.5
> sum(x)
[1] 5050
> min(x)
[1] 1
> var(x)
[1] 841.6667
> var(x)#求方差
[1] 841.6667
> x = c(1:10)
> prod(x)#连乘
[1] 3628800
> help(prod)
starting httpdhelp server ... done
> example(prod)
prod>print(prod(1:7)) == print(gamma(8))
[1] 5040
[1] 5040
[1] TRUE
> 1:10-1
[1] 0 1 2 3 4 5 6 7 8 9
> 1:10*2
[1] 2 4 6 8 1012 14 16 18 20
> 1:10*2 +1
[1] 3 5 7 9 1113 15 17 19 21
> prod(1:5)#求阶乘
[1] 120
> a <-c(1:10)
> a
[1] 1 2 3 4 5 6 7 8 9 10
> a[1:4]
[1] 1 2 3 4
> a[-(1:5)]
[1] 6 7 8 9 10
> a[c(2,3,4)]
[1] 2 3 4
> mode(a)
[1]"numeric"
> length(a)
[1] 10
> a[a<8]
[1] 1 2 3 4 5 6 7
> a[a>4& a<9]
[1] 5 6 7 8
> seq(5,20)
[1] 5 6 7 8 9 10 11 12 13 14 15 16 17 18 1920
> seq(5,20,by=2)#以公差为2的向量。
[1] 5 7 9 11 13 15 17 19
>seq(2,20,length=10)
[1] 2 4 6 8 1012 14 16 18 20
> seq(2,20)
[1] 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 1920
>seq(2,20,length=10,by=2)
错误于seq.default(2, 20, length = 10, by = 2) : 太多参数
> letters[1:30]#跟以前的括号不一样。
[1] "a" "b" "c""d" "e" "f" "g" "h""i" "j" "k" "l" "m""n" "o" "p" "q" "r"
[19] "s""t" "u" "v" "w" "x""y" "z" NA NA NA NA
>letters[1:30]#产生26个字母。
[1] "a" "b" "c""d" "e" "f" "g" "h""i" "j" "k" "l" "m""n" "o" "p" "q" "r""s"
[20] "t""u" "v" "w" "x" "y""z" NA NA NA NA
#3which函数的使用
> which.max(a)
[1] 10
> which.min(a)
[1] 1
> b =letters[1:26]
> b
[1] "a" "b" "c""d" "e" "f" "g" "h""i" "j" "k" "l" "m""n" "o" "p" "q" "r""s"
[20] "t""u" "v" "w" "x" "y""z"
> which.max(b)
integer(0)
警告信息:
In which.max(b) : 强制改变过程中产生了NA
> which(a>5)
[1] 6 7 8 9 10
> rev(a)#逆序
[1] 10 9 8 7 6 5 4 3 2 1
> sort(a)#排序
[1] 1 2 3 4 5 6 7 8 9 10
> rev(sort(a))#逆置
[1] 10 9 8 7 6 5 4 3 2 1
> a1 <-c(1:12)
> matrix(a1,nrow=3,ncol=4)#产生矩阵
[,1] [,2] [,3] [,4]
[1,] 1 4 7 10
[2,] 2 5 8 11
[3,] 3 6 9 12
>matrix(a1,nrow=3,ncol=5)
[,1] [,2] [,3] [,4] [,5]
[1,] 1 4 7 10 1
[2,] 2 5 8 11 2
[3,] 3 6 9 12 3
警告信息:
In matrix(a1, nrow= 3, ncol = 5) : 数据长度[12]不是矩阵列数[5]的整倍数
>matrix(a1,nrow=3,ncol=4 ,byrow=T)
[,1] [,2] [,3] [,4]
[1,] 1 2 3 4
[2,] 5 6 7 8
[3,] 9 10 11 12
> t(a1)
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8][,9] [,10] [,11] [,12]
[1,] 1 2 3 4 5 6 7 8 9 10 11 12
> a <- matrix(1:12,norw=3,ncol=4)
错误于matrix(1:12, norw = 3, ncol = 4) : 参数没有用(norw = 3)
> a <- matrix(1:12,nrow=3,ncol=4)
> a
[,1] [,2] [,3] [,4]
[1,] 1 4 7 10
[2,] 2 5 8 11
[3,] 3 6 9 12
> t(a)
[,1] [,2] [,3]
[1,] 1 2 3
[2,] 4 5 6
[3,] 7 8 9
[4,] 10 11 12
> b <- matrix(1:12,nrow=4,ncol=3)
> a%*%b
[,1] [,2] [,3]
[1,] 70 158 246
[2,] 80 184 288
[3,] 90 210 330
> a% * %b
错误: 没有"% * %"这个函数
> diag(a)
[1] 1 5 9
> t(a)
[,1] [,2] [,3]
[1,] 1 2 3
[2,] 4 5 6
[3,] 7 8 9
[4,] 10 11 12
> t(a)
[,1] [,2] [,3]
[1,] 1 2 3
[2,] 4 5 6
[3,] 7 8 9
[4,] 10 11 12
> diag(4)#4阶单位矩阵
[,1] [,2] [,3] [,4]
[1,] 1 0 0 0
[2,] 0 1 0 0
[3,] 0 0 1 0
[4,] 0 0 0 1
> d <-c(1:4)
> d
[1] 1 2 3 4
> b <- matrix(1:4,nrow=2,ncol=2)
> b
[,1] [,2]
[1,] 1 3
[2,] 2 4
> solve(b)
[,1] [,2]
[1,] -2 1.5
[2,] 1 -0.5
> b <- matrix(1:4,nrow=2,ncol=2,byrow=T)
> b
[,1] [,2]
[1,] 1 2
[2,] 3 4
> solve(b)
[,1] [,2]
[1,] -2.0 1.0
[2,] 1.5 -0.5
#x+2y=1 3x+4y=2方程组
b <- matrix(1:4,nrow=2,ncol=2,byrow=T)
a <- 1:2
solve(b,a)#方程组的解
> solve()#求逆矩阵,求方程组。
错误于solve.default() : 缺少参数"a",也没有缺省值
> eigen()#求特征值
错误于as.matrix(x) : 缺少参数"x",也没有缺省值
> mode(b)
[1]"numeric"
> mode(a)
[1]"numeric"
> x <-c(1:6)
> x
[1] 1 2 3 4 5 6
> is.vector(x)
[1] TRUE
> is.array(x)
[1] FALSE
> dim(x) <-c(2,3)
> x
[,1] [,2] [,3]
[1,] 1 3 5
[2,] 2 4 6
> is.array(x)
[1] TRUE
> is.matrix(s)
错误: 找不到对象's'
> is.matrix(x)
[1] TRUE
> dim(x) <-c(1,2,3)
> x1 <-c(1:8)
> x2 <-c(8:1)
> x <-data.frame(x1,x2)
> x
x1 x2
1 1 8
2 2 7
3 3 6
4 4 5
5 5 4
6 6 3
7 7 2
8 8 1
> x <- data.frame('重量'=x1,'运费'=x2)
> x
重量运费
1 1 8
2 2 7
3 3 6
4 4 5
5 5 4
6 6 3
7 7 2
8 8 1
#4读取文件中的内容。
> getwd()#找到工作目录
#读取文件中的信息。
y <-read.table("abc.txt")
警告信息:
Inread.table("abc.txt") :
incomplete final line found byreadTableHeader on 'abc.txt'
> y
V1 V2
1 175 68
2 175 68
3 175 68
4 175 70
>read.table("e:\\workspace\\r\\temp\\abc.txt")
V1 V2
1 175 67
2 175 67
3 175 67
4 175 80
警告信息:
Inread.table("e:\\workspace\\r\\temp\\abc.txt") :
incomplete final line found byreadTableHeader on 'e:\workspace\r\temp\abc.txt'
x[1] = 5;
i = 1;
while(x[i]<100){i=i+1;x[i]=x[i-1]+2};
print(x);
把上面的四行语句写在一个文件中 h.r(命令的集合即为脚本)
source("d:\\h.r")#加载脚本的语句。