题目要求:

利用 runif 函数写一个随机点名的程序, 实现以下功能: 已知学生列表,输入学生个数, 随机输出指定个数的学生姓名。

  • 不能使用 sample 函数
  • 使用runif函数
  • 避免重复点名

完整代码如下:

RandCall <- function(num){i = 0re = rep(0,num)data<-read.csv('namelist.csv',sep=',',header=TRUE)##data<-read.table('namelist.csv',sep=',',header=TRUE)A<-as.matrix(data[,2:2])while(i <= num){x = ceiling(runif(1,min = 0, max =length(A)))if(xor(is.element(A[x],re),TRUE)){re[i] = A[x]i = i + 1}}return(re)
}

具体代码说明如下:

  data<-read.csv('namelist.csv',sep=',',header=TRUE)##data<-read.table('namelist.csv',sep=',',header=TRUE)

该步骤表示导入数据,文件名为“namelist.csv”,这里read.csv和read.table效果是一样的。sep 用来指定分隔数据的分隔符,header表示表的首行是否包含变量值的逻辑值。

  A<-as.matrix(data[,2:2])

取出数据中第二列(姓名),并转化为矩阵A,方便后续输出。

  x = ceiling(runif(1,min = 0, max =length(A)))

使用runif函数生成0-length(A)的随机数,这里用到ceiling向上取整函数,避免产生小数。

  while(i <= num){}

控制循环次数(点名人数)。

  if(xor(is.element(A[x],re),TRUE)){re[i] = A[x]i = i + 1}

is.element()函数用来判断新生成的A[x]是否属于re(是否与之前的重复),避免重复点名。这里用到异或运算符xor(),两值不等为真,两值相等为假。

R语言-随机点名程序(使用runif函数)相关推荐

  1. Java语言 随机点名程序

    任务 编写一个随机点名的程序,使其能够在全班同学中随机点中某一名同学的名字.随机点名器具备3个功能,包括存储全班同学姓名.总览全班同学姓名和随机点取其中一人姓名.比如随机点名器首先分别向班级存入小明. ...

  2. R语言游程检验:使用runs.test函数对二值序列数据执行游程检验(检验序列是否是随机的)

    R语言游程检验:使用runs.test函数对二值序列数据执行游程检验(检验序列是否是随机的) 目录

  3. matlab运用函数随机点名,matlab随机点名程序

    思路: 总共n个学生(对应学号从1到n):每次抽查m个学生的作业: 输入n和m.得到每次抽查的学号: 而每次抽查的学号分为两部分:一部分是上次抽查过的人中随机30%的学号:另一部分是为抽查过的人中70 ...

  4. 用python做一个随机点名程序(不重复点名)

    用python做一个简单的随机点名程序(不重复点名) 这是我来到csdn的第一篇文章,内容如果有瑕疵的地方或者代码可以进一步改善,请大家对我指点一二.谢谢! 废话不多说,上代码! import ran ...

  5. html中自动随机点名的程序,JavaScript实现随机点名程序

    本文实例为大家分享了js实现随机点名程序的具体代码,供大家参考,具体内容如下 效果: 录制的gif效果图没那么理想,其实速度是比这个快的 思路: 1.定义一个数组,存放名单 2.启动定时器,设定间隔时 ...

  6. R语言数据科学程序包:Tidyverse介绍

    R语言数据科学程序包:Tidyverse介绍 1. R语言简介 2. 数据科学简介 3. Tidyverse简介 1. R语言简介 R语言是用于统计计算和绘图的免费软件.它可以在Windows, Un ...

  7. java界面随机点名程序

    项目包下载 界面部分 public class demo extends Application {public void start (Stage primaryStage) {BorderPane ...

  8. Logit Beta分布及其R语言随机模拟算法

    Logit Beta分布及其R语言随机模拟算法 Logit Beta分布 Logit Beta分布的采样算法 Logit Beta分布是一个在广义线性模型中时常遇到的分布,通常是作为模型算法的一个中间 ...

  9. R语言使用ega包的plotClarkeGrid函数可视化clarke error grid误差分析图、克拉克误差网格分析:可视化误差网络图及相关拟合曲线

    R语言使用ega包的plotClarkeGrid函数可视化clarke error grid误差分析图.克拉克误差网格分析:可视化误差网络图及相关拟合曲线 包的安装和导入 install.packag ...

最新文章

  1. 支付宝支付 第三集:搭建项目及测试(含代码)
  2. 第三个spring冲刺第5、6、7天(三天汇总)
  3. 体重测试java算法代码_标准体重计算示例代码
  4. 「leetcode」501. 二叉搜索树中的众数【暴力统计】【中序遍历】详解
  5. 《概率论基础教程》总结 -- 样本空间、概率、条件概率 等
  6. [渝粤教育] 苏州科技大学 混凝土结构设计原理 参考 资料
  7. Echar.js地图
  8. 2022年低功耗软路由cpu一览
  9. 代码急转弯——Tupper(塔珀自指公式)
  10. jenkins4-jenkins源码管理无法连接仓库:Command git ls-remote -h --
  11. 【1 - 决策树 - 原理部分】菜菜sklearn机器学习
  12. steam同乐无法连接远程计算机,Steam远程同乐功能怎么用 Steam远程同乐功能使用教程...
  13. java JVM调优总结 -Xms -Xmx -Xmn -Xss
  14. 项目中Java的多线程一般用在哪些场景?
  15. MATLAB数字图像水印
  16. tf.train.Coordinator
  17. 上传文件报NullPointerException
  18. 读取jar中MF文件以及pom.xml中的版本号
  19. 从程序员到软件工程师
  20. 蓬莱小课:数据分析岗真实面经分享

热门文章

  1. 基于chatgpt的社区教育网站开发教程
  2. iOS 转让App(更换开发者账号)
  3. Bigdecimal 在从数据库获取数据后 和从前台获取的数据作比较时(值相等)
  4. SHOI 2014 全
  5. 源码|并发一枝花之ConcurrentLinkedQueue【伪】
  6. 克鲁斯卡尔kruskal算法(Java)
  7. txt内容通过另存为方式导入到word中
  8. slim.fully_connected()
  9. 如何写好科研论文(MOOC)2021春季期末答案
  10. 火狐浏览器cookieSwap