R语言 如何保留大于或小于特定数值的行
更新时间:2021年5月6日 13:51 点击:1793
如下所示:
newdata<-subset(x, x$var > 某一数字)
x为矩阵 var是其中的一个变量
补充:r语言 循环次数超过了50这个最大值_错过了520还可以一起过儿童节,如何用R语言‘撸'一个文字跑马灯去表白...
引言
和大家分享一下如何用R语言来写一个文字跑马灯吧。这个文字跑马灯写起来基本不费时间,在办公室摸一下鱼大概就够了。
正文
这个文字跑马灯我准备按照面向对象编程来写。因为,面向对象就会有对象。而且,这个东西写出来就是拿给你们去表白的。
首先我们定义一个基类,这个基类要具有像PPT一样的逐页播放文字的功能。
#' @title projector projector <- R6::R6Class( classname = "projector", public = list( initialize = function(sildes) { # 构造函数 private$slides <- sprintf("r%s",sildes) # 给每页文字的开始加上'r'字符以覆盖上一页 private$length <- base::length(private$slides) # 记录所有的播放页数量 private$position <- 0 # 初始播放位置为第一页之前 private$slide <- private$slides[private$position] }, nextslide = function(){ # 播放下一页 private$position <- private$position + 1 # 获取下一页位置 if ( private$position > private$length ){ # 播放到最后一页后回到第一页 private$position <- private$position - private$length } private$slide <- private$slides[ private$position ] # 设置当前播放页为下一页 base::cat(private$slide) # 播放当前播发页 }, autoplay = function(fps = 10){ # 自动播放,播放速率每秒10页 while(T){ # 无限循环,可以用for改写控制循环次数 self$nextslide() # 播放下一页 base::Sys.sleep(1/fps) # 休眠控制播放速率 } } ), private = list( slide = NA,# 当前播放页 slides = c(), # 所有的播放页 length = 0,# 播放页的总数 position = 0# 当前播放位置 ) ) #' @test player <- projector$new(c("我是第一页","我是第二页","我是第三页")) player$nextslide() # 播放下一页 player$nextslide() player$nextslide() player$nextslide() player$autoplay(3) # 以每秒三张的速率播放,可以使用 Ctrl+C 组合键 跳出
利用这个文字PPT播放器,我们只要设置好播放页就可以实现文字跑马灯了。比如:
player2 <- projector$new( c( "我是第一页 ", "是第一页 我", "第一页 我是", "一页 我是第", "页 我是第一", " 我是第一页", " 我是第一页 ", " 我是第一页 ", " 我是第一页 ", "我是第一页 " # 最后一页的下一页是第一页,让播放页闭环以到达流畅的视觉效果 ) ) player2$autoplay(3)
当然我们不需要那么傻的的每次都手动设置播放页。接下来,我们从PPT文字播放器这个基类派生一个类,这个派生类新增了根据跑马灯文字自动设置播放页的功能。
#' @title scroller scroller <- R6::R6Class("scroller", inherit = projector, public = list( initialize = function(film, width = 50 ) { # 重载基类的构造函数,根据输入的文字和宽度自动设置播放页 film <- paste0( base::strrep(" ",width), film,base::strrep(" ",width), collapse="" ) slides <- rep( base::strrep(" ",width) , nchar(film)-width+1 ) for( i in 1:length(slides) ){ slides[i] <- substr(film,i,i+width-1) } super$initialize(slides) } ) ) #' @test boy <- scroller$new("你可真是个小可爱! 不如... 和我在一起吧^_^",50) # 设置播放页的宽度为50 boy$autoplay(10) # 以每秒10页的速率播放 girl <- scroller$new("哈哈哈*—* 我就知道你喜欢我! 好吧,我就勉强答应你咯~",50) # 设置播放页的宽度为50 girl$autoplay(10) # 以每秒10页的速率播放
以上为个人经验,希望能给大家一个参考,也希望大家多多支持猪先飞。如有错误或未考虑完全的地方,望不吝赐教。
下一篇: R语言 检验多重共线性的操作
相关文章
- 这篇文章主要介绍了R语言作图:坐标轴的设置方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-05-06
- 这篇文章主要介绍了R语言删除指定变量或对象的操作方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-05-06
- 这篇文章主要介绍了R语言基本画图函数与多图多线的用法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-05-06
- 这篇文章主要介绍了R语言-将list转换为向量的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-05-06
- 这篇文章主要介绍了R语言-切换科学计数法和更换小数点位数的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-05-06
- 这篇文章主要介绍了R语言创建矩阵的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-05-06
- 在本篇文章里小编给大家分享了一篇关于R语言运算符知识点讲解内容,有兴趣的朋友们可以参考下。...2021-05-06
- 这篇文章主要介绍了R语言中的因子类型详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-05-06
- 这篇文章主要介绍了R语言-使用快捷键快速注释的实现方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-05-06
- 这篇文章主要介绍了R语言中quantile()函数的用法说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-05-06
- 这篇文章主要介绍了改变R语言默认存储包的路径操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-05-06
- 这篇文章主要给大家总结介绍了R语言导入导出数据的几种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-05-06
R语言 install.packages 无法读取索引的解决方案
这篇文章主要介绍了R语言 install.packages 无法读取索引的解决方案,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-05-06- 在本篇文章里小编给大家分享的是一篇关于R语言“包”的知识点总结内容,有兴趣的朋友们可以学习下。...2021-05-06
- 这篇文章主要给大家介绍了关于R语言逻辑回归、ROC曲线与十折交叉验证的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-05-06
- 这篇文章主要为大家详细介绍了R语言学习ggplot2绘制统计图形包的全面知识讲解,有需要的朋友可以借鉴参考下,希望能够有所帮助...2021-11-06
- 在本篇文章里小编给大家整理的是一篇关于R语言关于随机森林算法的知识点详解内容,有兴趣的朋友们可以跟着学习下。...2021-05-13
- 这篇文章主要介绍了R语言-t分布正态分布分位数图的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-05-06
- 这篇文章主要介绍了R语言-在一张图上显示多条线的实现,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-05-06
- 这篇文章主要介绍了R语言开发之CSV文件的读写操作实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-05-06