R-sampe & seq函数学习[转载]
转自: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