R语言学习笔记(一)

真正的危机,来源于在正确的时间做不正确的事。没有在正确的时间,为下一步做出积累,这才是危机的根源

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



  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值