服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - R语言 - R语言 如何保留大于或小于特定数值的行

R语言 如何保留大于或小于特定数值的行

2022-01-05 16:24小马同学 R语言

这篇文章主要介绍了R语言实现保留大于或小于特定数值的行操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

如下所示:

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 组合键 跳出

R语言 如何保留大于或小于特定数值的行

利用这个文字PPT播放器,我们只要设置好播放页就可以实现文字跑马灯了。比如:

player2 <- projector$new(
c(
"我是第一页    ",
"是第一页    我",
"第一页    我是",
"一页    我是第",
"页    我是第一",
"    我是第一页",
"   我是第一页 ",
"  我是第一页  ",
" 我是第一页   ", 
"我是第一页    " # 最后一页的下一页是第一页,让播放页闭环以到达流畅的视觉效果
)
)
player2$autoplay(3)

R语言 如何保留大于或小于特定数值的行

当然我们不需要那么傻的的每次都手动设置播放页。接下来,我们从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语言 如何保留大于或小于特定数值的行

以上为个人经验,希望能给大家一个参考,也希望大家多多支持服务器之家。如有错误或未考虑完全的地方,望不吝赐教。

原文链接:https://blog.csdn.net/xiaogedeshahai/article/details/99857423

延伸 · 阅读

精彩推荐
  • R语言R语言可视化存储矢量图实现方式

    R语言可视化存储矢量图实现方式

    这篇文章主要为大家介绍了R语言存储矢量图的实现方式过程,有需要的朋友可以借鉴参考下,希望能够有所你帮助,祝大家多多进步,早日升职加薪...

    Kanny广小隶9392022-01-20
  • R语言R语言创建矩阵的实现方法

    R语言创建矩阵的实现方法

    这篇文章主要介绍了R语言创建矩阵的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随...

    hjk_caesar9462021-12-27
  • R语言R studio 批量注释的快捷方式

    R studio 批量注释的快捷方式

    这篇文章主要介绍了R studio 批量注释的快捷方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...

    JasonKQLin13342022-01-04
  • R语言R语言-使用ifelse进行数据分组

    R语言-使用ifelse进行数据分组

    这篇文章主要介绍了R语言-使用ifelse进行数据分组,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...

    小力丸12042022-01-10
  • R语言R语言编程学习绘制动态图实现示例

    R语言编程学习绘制动态图实现示例

    这篇文章主要介绍了R语言编程学习绘制动态图实现示例,有需要的的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪...

    微小冷7652022-01-18
  • R语言R语言中c()函数与paste()函数的区别说明

    R语言中c()函数与paste()函数的区别说明

    这篇文章主要介绍了R语言中c()函数与paste()函数的区别说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...

    yiyu_j11152022-01-12
  • R语言R语言绘制散点图实例分析

    R语言绘制散点图实例分析

    在本篇文章里小编给大家整理的是一篇关于R语言绘制散点图实例分析内容,有需要的朋友们可以学习下。...

    w3cschool6942022-01-06
  • R语言聊聊R语言中Legend 函数的参数用法

    聊聊R语言中Legend 函数的参数用法

    这篇文章主要介绍了聊聊R语言中Legend 函数的参数用法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...

    Gavin姓陈6352021-12-28