zl程序教程

您现在的位置是:首页 >  其他

当前栏目

R-sampe & seq函数学习[转载]

amp学习 函数 转载 Seq
2023-09-14 09:11:23 时间

转自:https://blog.csdn.net/u012108367/article/details/69913280 

https://blog.csdn.net/qq_33547243/article/details/79054112

1.R中的sample函数

在医学统计学或者流行病学里的现场调查、样本选择经常会提到一个词:随机抽样。

随机抽样是为了保证各比较组之间均衡性的一个很重要的方法。那么今天介绍的第一个函数就是用于抽样的函数sample: 

> x=1:10
> sample(x)
 [1]  8  9  5  2  3 10  6  1  4  7
#随机抽样,默认是不放回抽样

> sample(x,size = 5)
[1] 9 4 5 6 2
#size参数,规定抽样个数

> sample(x,size = 5)
[1] 4 3 1 5 9
#这次抽样结果和上次不同,证明是随机的

> sample(x,replace = T)
 [1] 5 5 8 8 7 3 3 7 6 2
#参数是否是放回抽样。

 

上述抽样过程中,每个元素被抽取的概率相等,称为随机抽样。

有时候我们的抽取元素的概率未必相等(如常见的二项分布概率问题),此时我们需要添加一个参数prob,也就是“probability”(概率)的缩写。假设一名医生给患者做某手术成功的概率是80%,那么现在他给20例病人做手术,可能有哪几次是成功的呢?代码如下:

这些代码告诉我们,对每一个元素都可以给定一个概率,且每个概率是独立的,即在参数prob中,不一定所有元素的概率加起来等于1,它只代表某元素被抽取的概率而已。

//对于sample.int是针对只能对整数进行抽样的。

2.R中seq函数

x <- seq(0, 10, by = 0.01)
y <- sin(x)
plot(y)

 

运行结果:

by是步长的意思,也就是+几产生下一个数,这里就是从0开始没加0.01产生一个数,直到10.

这个by参数默认是1,默认步长为1.

> seq(from = 1, to = 10,by=2)
[1] 1 3 5 7 9

> x<-c(1,1,2,3)
> seq(x)
[1] 1 2 3 4
#如果参数是一个向量,那么结果会产生这个向量的索引。

> seq(length.out=5)
[1] 1 2 3 4 5
#这里如果只有这个生成个数参数,那么默认从1开始,生成length.out个

> seq(from=2,to=5,length=3)
[1] 2.0 3.5 5.0
> seq(from=2,to=5,length=2)
[1] 2 5