在 R 資料框列中查詢存在 n 次的值。
要查詢在 R 資料框列中存在 n 次的值,我們首先需要使用 factor 對該列進行製表,然後提取該列的水平,之後使用 as.numeric 讀取它們。
檢視下面給出的示例,瞭解如何實現。
示例 1
以下程式碼片段建立了一個示例資料框 -
x<-rpois(20,1) df1<-data.frame(x) df1
建立了以下資料框
x 1 2 2 0 3 1 4 1 5 1 6 0 7 0 8 1 9 5 10 2 11 1 12 0 13 1 14 2 15 0 16 0 17 0 18 0 19 1 20 2
要在上面建立的資料框中查詢 df1 的 x 列中存在 7 次的值,請將以下程式碼新增到上述程式碼片段中 -
x<-rpois(20,1) df1<-data.frame(x) as.numeric(levels(factor(df1$x))[tabulate(factor(df1$x))==7])
輸出
如果將上面給出的所有程式碼片段作為單個程式執行,它將生成以下輸出 -
[1] 1
示例 2
以下程式碼片段建立了一個示例資料框 -
y<-sample(0:5,20,replace=TRUE) df2<-data.frame(y) df2
建立了以下資料框
y 1 4 2 1 3 0 4 5 5 2 6 1 7 0 8 0 9 3 10 2 11 2 12 1 13 2 14 2 15 2 16 1 17 1 18 1 19 3 20 2
要在上面建立的資料框中查詢 df2 的 y 列中存在 2 次的值,請將以下程式碼新增到上述程式碼片段中 -
y<-sample(0:5,20,replace=TRUE) df2<-data.frame(y) as.numeric(levels(factor(df2$y))[tabulate(factor(df2$y))==2])
輸出
如果將上面給出的所有程式碼片段作為單個程式執行,它將生成以下輸出 -
[1] 3
示例 3
以下程式碼片段建立了一個示例資料框 -
z<-round(rnorm(20),0) df3<-data.frame(z) df3
建立了以下資料框
z 1 -1 2 2 3 -1 4 1 5 1 6 -2 7 -1 8 -1 9 0 10 0 11 1 12 1 13 -1 14 0 15 1 16 0 17 0 18 0 19 -1 20 0
要在上面建立的資料框中查詢 df3 的 z 列中存在 6 次的值,請將以下程式碼新增到上述程式碼片段中 -
z<-round(rnorm(20),0) df3<-data.frame(z) as.numeric(levels(factor(df3$z))[tabulate(factor(df3$z))==6])
輸出
如果將上面給出的所有程式碼片段作為單個程式執行,它將生成以下輸出 -
numeric(0)
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP