科研代码大全|小云带学R语言之sample函数实战

嘿,大家好,本期小云将通过两道题目进行R语言的实战教学。跟着小云一起学起来吧!
题目1:运用三万个身高数据,分别改变样本容量为10、100、1000随机抽取10万次,对抽取后的结果取均值,将抽取不同容量样本的曲线画在同一块画布上。

seed<-1:15; 由于所给的数据有15列,可以先随机出一列数据,从这一列数据中抽取1000、100或10个数据,即三次for循环。使用sample随机抽取,mean()函数取均值。
result=list()
for(i in 1:100000){
result[i]<-mean(sample(heigh_data[,c(sample(seed,1))],1000))
}
for (i in 1:100000){
a[i,3]=result[i];
}
将以样本容量为1000抽取的100000个数据存放到数据框a的第三列中,同理,将样本容量为100、10的100000数据分别存放到数据框a的第二列和第一列中。
然后使用rbind函数合并数据框成如下形式:

ggplot(all, aes(x=height, fill=sample))+
geom_density(alpha=0.55,bw=1,colour="black",size=0.25)+
theme(
text=element_text(size=15,color="black"),
plot.title=element_text(size=15,family="myfont",face="bold.italic",hjust=.5,color="black"),#,
legend.position=c(0.8,0.8),
legend.background = element_blank()
)
###绘图即得到图1的效果图
题目二:画出由1000个0、1000个1、1000个2、……1000个9醉成的数据向量的总体分布图和随机抽取300个数据10000次,每次取平均值的抽样分布
a<-rep(1:9,1000)
a<-as.data.frame(a) #将a转化为数据框的形式
hist(a$a) 得到分布图


使用for循环,抽取10000次数据,for循环中的是对每300个随机出的数据取均值,即最后得到一万个均值的数据。
Hist(b$V1)得到结果图

以上就是本期的实战教学了,如果觉得对你有帮助,记得给小云点个赞哦,更多精彩内容就在尔云间,跟着小云每天进步一点点哦!今天的介绍就到这里啦,请持续关注小云,我们下期见~
筛选免疫基因对小工具:www.biocloudservice.com/589/589.php
