溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么在R語言中保留大于或小于特定數值的行

發(fā)布時間:2021-04-02 14:30:06 來源:億速云 閱讀:1494 作者:Leah 欄目:開發(fā)技術

今天就跟大家聊聊有關怎么在R語言中保留大于或小于特定數值的行,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

如下所示:

newdata<-subset(x, x$var > 某一數字)

x為矩陣 var是其中的一個變量

補充:r語言 循環(huán)次數超過了50這個最大值_錯過了520還可以一起過兒童節(jié),如何用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) # 播放當前播發(fā)頁
  },
  autoplay = function(fps = 10){ # 自動播放,播放速率每秒10頁
    while(T){ # 無限循環(huán),可以用for改寫控制循環(huán)次數
      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(
  "我是第一頁    ",
  "是第一頁    我",
  "第一頁    我是",
  "一頁    我是第",
  "頁    我是第一",
  "    我是第一頁",
  "   我是第一頁 ",
  "  我是第一頁  ",
  " 我是第一頁   ", 
  "我是第一頁    " # 最后一頁的下一頁是第一頁,讓播放頁閉環(huán)以到達流暢的視覺效果
 )
)
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語言中保留大于或小于特定數值的行

看完上述內容,你們對怎么在R語言中保留大于或小于特定數值的行有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業(yè)資訊頻道,感謝大家的支持。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI