真正的危机,来源于在正确的时间做不正确的事。没有在正确的时间,为下一步做出积累,这才是危机的根源
1、
mean()求平均数
sd()求标准差
2、
read.table(" liyiming.txt",head=TRUE)
如果一行执行多个命令,需要用分号“;”隔开
lm.sol<-lm(Weight~Height,data=rt)
lm()线性模型函数
summary()
3、
source(“MyFile.R”)
load("MyWorkSpace.RData")
save.image("MyWorkSpace.RData")
4、向量的运算
%/% 整除
%% 求余数
min()最小值
max()最大值
range()范围
which.min()在第几个分量取最小值
which.max()在第几个分量取最大值
sum()求和
prod()向量x分量联乘积
length()向量x分量的个数
median()中位数
mean()平均数
sum()/length()平均数
var()方差
sd()标准差
sort()排序
order()、sort.list()列出排序下标
5、产生有规律的序列
等差数列
a:b 从a开始,逐项加1(或减1),直到b为止
* x <- 2*1:15 等差运算优先于乘法运算
> n <- 5
> 1:n-1
[1] 0 1 2 3 4
> 1: (n-1)
[1]1 2 3 4
等间隔函数
seq()产生等距间隔的数列
seq(from=value1,to=value2,by=value3) 从value1开始到value2结束,中间的间隔为value3
seq(2,10)在不做特别声明的时候,其间隔为1
seq(length=value2,from=value1,by=value3) 即从value1开始,其间隔为value3,向量长度为value2
重复函数 rep()
> s <- rep( x , times=3 )
逻辑向量
运算符:<, <=, >, >= ,== , !=
& 与;| 或
> all( c(1,2,3,4,5,6,7)>3)
> FALSE
> any(c(1,2,3,4,5,6,7)>3)
> TURE
缺失数据
is.na()是检测缺失数据的函数,对于NA和NaN的值都返回TURE
> z <- c(1:3,NA); Z
> ind <- is.na(z) ; ind
[1]FALSE FALSE FALSE TURE
将缺失值数据改为0
> Z[is.na(Z) ] <- 0; Z
[1] 1 2 3 0
is.nan() 检测数据是否不确定,TURE为不确定,FALSE为确定 *识别不可能值,只对NaN值返回TURE
is.finite()检测数据是否有限,TURE为有限,FALSE为无穷
is.infinite()检测数据是否无穷,TURE为无穷,FALSE为有限
字符型向量
> paste(“My”,“Job”)
[1] "My Job"
> labs < - paste("X",1:6,sep=" ");labs *sep参数用于指定分隔用的字符
[1] "X1" "X2" "X3" "X4" "X5" "X6"
> paste (c('a','b'),collapes='.')
[1] "a.b"
复数向量
complex模式的向量为复数模式的向量,complex()函数
> x<- seq(-pi,pi,by=pi/10)
> y<- sin(x)
> z<- complex(re=x,im=y) *Re()计算复数的实部,Im()是计算复数的虚部,Mod()是计算复数的模,Arg()是计算复数的幅角
> plot(z)
> lines(z)
向量下标运算
X[i] *取X向量第i个值
> x<- c(1,4,7)
> x[2]
[1] 4
> (c(1,3,5)+5)[2]
[1] 8
单独改变一个元素的值
> x[2] <- 125
> x
[1] 1 125 7
> x[c(1,3)] <- c(144,169)
>x
[1] 144 125 169
逻辑向量 x[v]表示取出所有v为真值的元素
> x <- c(1,4,7)
> x< 5
[1] TURE TURE FALSE
> x[x<5]
[1] 1 4
将向量中缺失值赋值为0
> z [is.na(z)] <- 0
将向量中非缺失值赋值给另一个向量
> y <- z[!is.na(z)]
向量的运算
> (z+1)[(!is.na(z) )& z>0] -> x
#向量z取非空的元素且向量z中>0的元素,每个元素+1,赋值给x
改变部分元素值的技术与逻辑值下标方法结合可以定义向量的分段函数,
> y <- numeric(length(x))
> y [x<0] <- 1-x [x<0]
> y [x>=0] <- 1+x [x>=0]
下标的正整数运算,v为一个向量,下标取值在1到length(v)之间,允许重复取值
> v <- 10:20
> v [c(1,2,3,2,1)]
[1] 10 11 12 11 10
> c("a","b","c")[rep(c(2,1,3),times=3)]
[1] "b" "a" "c" "b" "a" "c" "b" "a" "c"
下标的负整数运算,v为一个向量,下标取值在-length(v)到1之间,表示扣除相应的元素
> v[-(1:5)]
[1] 15 16 17 18 19 20
定义向量时给元素加上名字,
> ages <- c(Li=33,Zhang=29,Liu=18)
> ages
Li Zhang Liu
33 29 18
> ages[Zhang]
Zhang
29
向量的元素名后加,
> fruit <- c(5,10,1,20)
> names(fruit) <- c("orange","banana","apple","peach")
> fruit
orange banana apple peach
5 10 1 20