R高级数据管理--数学函数、统计函数和概率函数

1.数学函数

#1.数学函数
abs(-3)   #求绝对值
# [1] 3

sqrt(9) #求平方根
# [1] 3

ceiling(3.234) #不小于该数的最小值  可以理解成3.234往上走遇到的第一个天花板
# [1] 4

floor(3.234) #不大于该值的最大值    可以理解成3.234往下走遇到的第一个地板
#[1] 3

round(3.45)   #四舍五入
# [1] 3
round(3.55)
# [1] 4

#sin(x) 正弦函数
#cos(x) 余弦函数
#log(x) log函数 

2.统计函数

# 2.统计函数

x <- c(2,3,4,5,6,3,3,2,4)
mean(x)    #求平均值
# [1] 3.555556

sum(x) #求和
# [1] 32
n <- length(x)  #求长度
n
# [1] 9

meanx <- sum(x)/n
meanx
# [1] 3.555556

sd(x) #求标准差
# [1] 1.333333


var(x) #求方差
# [1] 1.777778

max(x) #求最大值
#[1] 6

min(x) #求最小值
# [1] 2

scale(x)  #标准化
# [,1]
# [1,] -1.1666667
# [2,] -0.4166667
# [3,]  0.3333333
# [4,]  1.0833333
# [5,]  1.8333333
# [6,] -0.4166667
# [7,] -0.4166667
# [8,] -1.1666667
# [9,]  0.3333333
# attr(,"scaled:center")
# [1] 3.555556
# attr(,"scaled:scale")
# [1] 1.333333

#scale不做参数设定,默认就是生成均值为0,标准差为1向量

3.概率函数

image.png
x <- pretty(c(-3:3),30) #x轴上在-3到3之间生成30个均匀分配的数字
x
# [1] -3.0 -2.8 -2.6 -2.4 -2.2 -2.0 -1.8 -1.6 -1.4 -1.2 -1.0 -0.8 -0.6 -0.4 -0.2  0.0  0.2  0.4  0.6  0.8
# [21]  1.0  1.2  1.4  1.6  1.8  2.0  2.2  2.4  2.6  2.8  3.0

y <- dnorm(x)   #正态分布的密度函数
y
# [1] 0.004431848 0.007915452 0.013582969 0.022394530 0.035474593 0.053990967 0.078950158 0.110920835
# [9] 0.149727466 0.194186055 0.241970725 0.289691553 0.333224603 0.368270140 0.391042694 0.398942280
# [17] 0.391042694 0.368270140 0.333224603 0.289691553 0.241970725 0.194186055 0.149727466 0.110920835
# [25] 0.078950158 0.053990967 0.035474593 0.022394530 0.013582969 0.007915452 0.004431848
plot(x,y)
image.png

rnorm(50,mean=20,sd=8) #50个均值为20,标准差为8的随机数

runif(5)   #5个服从正态分布的伪随机数
# [1] 0.4124690 0.5094820 0.1807233 0.3988969 0.8442206
runif(5) 
# [1] 0.3640773 0.4683060 0.8428410 0.1045139 0.1653720



#伪随机数每次得到的都不同,如果想得到一样的伪随机数,则需要利用set.seed(),种子号可以自己设定一个
set.seed(1)
runif(5)
# [1] 0.2655087 0.3721239 0.5728534 0.9082078 0.2016819
#这时候这组伪随机数就被归为了种子1

#同理
set.seed(2)
runif(5)
# [1] 0.1848823 0.7023740 0.5733263 0.1680519 0.9438393

#这时候如果想生成种子1的伪随机数,则可以

set.seed(1)
runif(5)
# [1] 0.2655087 0.3721239 0.5728534 0.9082078 0.2016819

#如果是想要2,则可以
set.seed(2)
runif(5)
# [1] 0.1848823 0.7023740 0.5733263 0.1680519 0.9438393

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容