如何在 R 資料框列中查詢小於等於閾值的連續出現的頻率?
要查詢 R 資料框列中小於閾值的小於等於閾值的連續出現的頻率,我們可以使用 rle 函式以及 sum 函式。
檢視下面給出的示例,以瞭解如何操作。
示例 1
以下程式碼片段建立了一個示例資料框 -
x<-round(rnorm(20,1,2.5),0) df1<-data.frame(x) df1
建立了以下資料框 -
x 1 1 2 4 3 -2 4 -3 5 -3 6 -4 7 3 8 -4 9 2 10 1 11 4 12 2 13 1 14 -1 15 4 16 -4 17 1 18 -1 19 -2 20 -1
要在列 x 中查詢小於等於 1 的連續出現的頻率,請將以下程式碼新增到上述程式碼片段中 -
x<-round(rnorm(20,1,2.5),0) df1<-data.frame(x) sum(rle(df1$x<=1)$values)
輸出
如果您將上面給出的所有程式碼片段作為一個程式執行,它將生成以下輸出 -
[1] 6
示例 2
以下程式碼片段建立了一個示例資料框 -
y<-round(rnorm(20,5,10),0) df2<-data.frame(y) df2
建立了以下資料框 -
y 1 22 2 4 3 5 4 18 5 16 6 18 7 3 8 -4 9 22 10 8 11 5 12 6 13 -11 14 -7 15 -4 16 7 17 18 18 11 19 -6 20 -9
要在列 y 中查詢小於等於 5 的連續出現的頻率,請將以下程式碼新增到上述程式碼片段中 -
y<-round(rnorm(20,5,10),0) df2<-data.frame(y) sum(rle(df2$y<=5)$values)
輸出
如果您將上面給出的所有程式碼片段作為一個程式執行,它將生成以下輸出 -
[1] 5
示例 3
以下程式碼片段建立了一個示例資料框 -
z<-sample(0:5,20,replace=TRUE) df3<-data.frame(z) df3
建立了以下資料框 -
z 1 2 2 4 3 3 4 5 5 4 6 2 7 3 8 2 9 0 10 3 11 4 12 0 13 4 14 3 15 3 16 0 17 3 18 3 19 3 20 3
要在列 z 中查詢小於等於 4 的連續出現的頻率,請將以下程式碼新增到上述程式碼片段中 -
z<-sample(0:5,20,replace=TRUE) df3<-data.frame(z) sum(rle(df3$z<=4)$values)
輸出
如果您將上面給出的所有程式碼片段作為一個程式執行,它將生成以下輸出 -
[1] 2
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP