R语言--数值和字符处理函数

数值和字符处理函数

取相反数abs(-4)---4

求平方差:sqrt(4)---2

取整函数:

1)向上取整:ceiling(3.45)---4

2)向下取整:floor(3.475)---3

3)向零的方向截取的参数的整数部分:trunc(5.99)----5

4)指定要处理的参数,还有要保留的参数:round(3.475,digits=2)----3.48

5signif(3.47,digits=2)----3.4

abs(-2)

sqrt(25)

ceiling(3.475)

ceiling(3.01)

floor(3.475)

floor(3.88)

trunc(5.01)

trunc(5.99)

trunc(-1.88)

trunc(-1.3)

round(3.475,digits = 2)

round(3.014,digits = 2)

signif(3.475,digits = 2)

 

cos(2)

#以base=2为底,求2的对数

log(2,base = 2)

#以e为底的自然对数

log(2.7128)

#以10为底的对数

log10(10)

#以e为底的指数函数

exp(2.306)

> abs(-2)

[1] 2

> sqrt(25)

[1] 5

> ceiling(3.475)

[1] 4

> ceiling(3.01)

[1] 4

> floor(3.475)

[1] 3

> floor(3.88)

[1] 3

> trunc(5.01)

[1] 5

> trunc(5.99)

[1] 5

> trunc(-1.88)

[1] -1

> trunc(-1.3)

[1] -1

> round(3.475,digits = 2)

[1] 3.48

> round(3.014,digits = 2)

[1] 3.01

> signif(3.475,digits = 2)

[1] 3.5

> cos(2)

[1] -0.4161468

> log(2,base = 2)

[1] 1

> log(2.7128)

[1] 0.9979813

> log10(10)

[1] 1

> exp(2.306)

[1] 10.03421

 

对数据做变换时这些数据的主要用途;数学和统计函数是用来处理数值型数据的;

字符处理函数:

x<-c("ab","ac3","sdfs")

#计算x下标为3的字符个数

nchar(x[3])

#提取字符串子串substr()

substr("adfsdfs",2,4)

 

y<-"sdfagadgd"

#字符串的替换

substr(y,2,4)<-"222"

y

 

#模式收索

grep("A",c("d","A","d"),fixed = TRUE)

 

#连接

paste("x",1:3,sep = "")

paste("x",1:3,sep = "M")

paste("Today is ",date())

#转换成大写函数

toupper("abc")

#转换成小写函数

tolower("ASD")

length(x)

seq(1,10,2)

 

#重复

rep(1:10,3)

#cut()将一个连续变量分隔为n个水平的因子

#10分隔为5个水平的因子

cut(10,5)


firstname<-"Jane"

#拼接字符串

cat("Hello",firstname,"\n")

函数应用实例:

apply:可以将任意函数都应用到矩阵,数组,数据框和任何维度上;

> a<-5

> sqrt(a)

[1] 2.236068

> b<-c(1,243,5,654,2,99)

> round(b)    #round()默认digits = 0

[1]   1 243   5 654   2  99

> #runif(12)他是从0-1中取值,一共取12个,分成3行3列的矩阵

> c<-matrix(runif(12),nrow = 3)

> #查询runif的使用方法> help(runif)

> c

           [,1]      [,2]        [,3]      [,4]

[1,] 0.40609713 0.5015378 0.007922844 0.3852485

[2,] 0.01424861 0.3715266 0.836512059 0.9515306

[3,] 0.11044779 0.8059156 0.376839179 0.4756742

> log(c)

           [,1]       [,2]       [,3]        [,4]

[1,] -0.9011629 -0.6900763 -4.8380051 -0.95386661

[2,] -4.2510957 -0.9901347 -0.1785143 -0.04968346

[3,] -2.2032123 -0.2157763 -0.9759368 -0.74302203

> #runif(30,-3,3),nrow=6:在-3到3之间取30个数,用六行表示出来

> newData<-matrix(runif(30,-3,3),6)

> newData

           [,1]      [,2]       [,3]       [,4]       [,5]

[1,]  0.3125628 -1.691902 -2.0121431  1.8368722 -1.1242617

[2,]  2.6082980  1.117421  1.2883664 -2.3071726 -0.3170817

[3,]  2.1806175  2.756292  0.1689945  1.1520865  1.9526344

[4,] -1.4405131 -1.443573 -1.5917119 -2.8692826 -1.0092272

[5,]  1.1261990 -0.187440 -2.6134100 -0.8317397 -2.1358490

[6,] -0.3125565 -1.071963  1.0545810  1.3936803 -1.1944755

> #求各行均值

> apply(newData, 1,mean)

[1] -0.53577445  0.47796618  1.64212503 -1.67086159 -0.92844796 -0.02614668

> #求各列均值

> apply(newData,2,mean)

[1]  0.74576794 -0.08686085 -0.61755387 -0.27092599 -0.63804345

> #结尾均值

> #结尾均值就是基于中间的60%,最高的和最低的20%统统被忽略

> #第三个参数,可以带函数名,也可以是任意的R函数,也可以是自定义函数

> #apply可以把函数应用到数组的某一个维度上

> apply(newData,2,mean,trim=0.2)

[1] -1.1738655  1.1710025 -0.4913028  1.7737582 -0.2801271

你可能感兴趣的:(R)