1. 程式人生 > >統計分析與R軟件-chapter2-2

統計分析與R軟件-chapter2-2

元素 5.6 2.2.3 zhang labs date() 賦值 line max

2.2 數字、字符與向量

2.2.1 向量

1.向量的賦值

x<-c(10.4,5.6,3.1,6.4,21.7)

2.向量的運算

x<-c(-1,0,2);y<-c(3,8,2)
v<-2*x+y+1
v
x*y
x/y
x^2
y^x
5%/%3
5%%3
exp(x)
sqrt(y)
sqrt(-2)
sqrt(-2+0i)
x<-c(10,6,4,7,8)

3.與向量有關的函數

min(x)
max(x)
range(x)
which.min(x)
which.max(x)
sum(x)
prod(x)
median(x)
sort(x)
var(x)

2.2.2 產生有規律的序列

1.等差數列

2.312:6
4:7.6
2*1:15

2.等間隔函數

seq(-5,5,by=.2)
seq(10,-5,2)
seq(length=5,from=-5,by=.2)

3.重復函數

x<-c(1,4,6.25);x
rep(x,times=3)

2.2.3 邏輯向量

x<-1:7
l<- x>3
z<- c(TRUE,FALSE,F,T);z
all(c(1,2,3,4,5,6,7)>3)
any(c(1,2,3,4,5,6,7)>3)

2.2.4 缺失數據

z<- c(1:3,NA);z
ind<-is.na(z);ind
z[is.na(z)]<-0;z
x<-c(0/1,0/0,1/0,NA);x
is.nan(x)
is.finite(x)
is.infinite(x)
is.na(x)

在x的四個分量中,0/1為0,只有在is.finite的檢測下為真,其余均為假。0/0為不確定,但對函數is.nan和is.na的檢測下均為真,這是因為不確定數據也認為是缺失數據。1/0為無窮,因此只在is.infinite檢測下為真。NA為缺失數據,只有在is.na檢測下為真,因為缺失數據並不是不確定數據,所以在is.nan檢測下仍為假。

x[is.nan(x)]<-0;x

2.2.5 字符型向量

y<- c("er","sdf","eir","jk","dim")
y
paste("My","Job")
labs<-paste("X",1:6,sep = "");labs
paste("result.", 1:4,sep = "");
paste(1:10)
paste("Today is",date())
date()
paste(c(‘a‘,‘b‘),collapse = ‘.‘)

2.2.6 復數向量

x<-seq(-pi,pi,by=pi/10)
y<-sin(x)
z<-complex(re=x,im=y)
plot(z)
lines(z)

Re()計算復數實部,Im()計算復數虛部,Mod()計算復數的模,Arg()計算復數的幅角

2.2.7 向量下標運算

x<- c(1,4,7)
x[2]
(c(1,3,5)+5)[2]
x[2]<-125;x
x[c(1,3)]<-c(144,169);x

1.邏輯向量

x<-c(1,4,7)
x<5
x[x<5]
z<- c(-1,1:3,NA)
z[is.na(z)]<-0
z
z<-c(-1,1:3,NA)
y<-z[!is.na(z)];y
(z+1)[(!is.na(z))&z>0]->x;x
y<-numeric(length(x))
y[x<0]<-1-x[x<0]
y[x>=0]<-1+x[x>=0]
x<- -10:10
plot(x,y)

2.下標的正整數運算

v<- 10:20
v[c(1,3,5,9)]
v[1:5]
v[c(1,2,3,2,1)]
c("a","b","c")[rep(c(2,1,3),times=3)]

3.下標的負整數運算,表示扣除相應的元素

v[-(1:5)]

4.取字符型值的下標向量

ages<- c(Li=33,Zhang=29,Liu=18)
ages
ages[1]
ages["Li"]
fruit<- c(5,10,1,20);fruit
names(fruit)<- c("orange","banana","apple","peach")
fruit

統計分析與R軟件-chapter2-2