欢迎光临散文网 会员登陆 & 注册

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

2023-06-28 13:53 作者:尔云间  | 我要投稿


嘿,大家好,本期小云将通过两道题目进行R语言的实战教学。跟着小云一起学起来吧!

题目1:运用三万个身高数据,分别改变样本容量为10、100、1000随机抽取10万次,对抽取后的结果取均值,将抽取不同容量样本的曲线画在同一块画布上。

图 1第一题的效果图

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函数合并数据框成如下形式:

图 2 合并数据框之后的格式

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) 得到分布图

图 3   分布图


图 4题目二代码

使用for循环,抽取10000次数据,for循环中的是对每300个随机出的数据取均值,即最后得到一万个均值的数据。

Hist(b$V1)得到结果图

图 5题目二结果

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

筛选免疫基因对小工具:www.biocloudservice.com/589/589.php


科研代码大全|小云带学R语言之sample函数实战的评论 (共 条)

分享到微博请遵守国家法律