如何在 R 中提取至少包含一個非重複值的列?
要從 R 資料框中提取至少包含一個非重複值的列,我們可以使用 Filter 函式。
例如,如果我們有一個名為 df 的資料框,其中包含一些具有重複值的列和至少不包含一個非重複值的列,那麼我們可以使用以下命令提取至少包含一個非重複值的列:
Filter(var,df)
示例 1
以下程式碼段建立了一個示例資料框:
x1<-rep(10,20) x2<-rpois(20,1) x3<-rpois(20,5) x4<-rep(1,20) df1<-data.frame(x1,x2,x3,x4) df1
建立了以下資料框
x1 x2 x3 x4 1 10 1 2 1 2 10 1 3 1 3 10 1 7 1 4 10 2 5 1 5 10 0 2 1 6 10 1 6 1 7 10 0 7 1 8 10 0 6 1 9 10 0 3 1 10 10 0 6 1 11 10 0 9 1 12 10 0 7 1 13 10 0 6 1 14 10 1 3 1 15 10 1 5 1 16 10 1 5 1 17 10 2 8 1 18 10 0 6 1 19 10 1 1 1 20 10 1 4 1
要在上面建立的資料框上提取 df1 至少包含一個非重複值的列,請將以下程式碼新增到上述程式碼段中:
x1<-rep(10,20) x2<-rpois(20,1) x3<-rpois(20,5) x4<-rep(1,20) df1<-data.frame(x1,x2,x3,x4) Filter(var,df1)
輸出
如果您將以上所有程式碼段作為單個程式執行,它將生成以下輸出:
x2 x3 1 1 2 2 1 3 3 1 7 4 2 5 5 0 2 6 1 6 7 0 7 8 0 6 9 0 3 10 0 6 11 0 9 12 0 7 13 0 6 14 1 3 15 1 5 16 1 5 17 2 8 18 0 6 19 1 1 20 1 4
示例 2
以下程式碼段建立了一個示例資料框:
y1<-round(rnorm(20),1) y2<-round(rnorm(20),1) y3<-rep(0.5,20) y4<-rep(0.8,20) df2<-data.frame(y1,y2,y3,y4) df2
建立了以下資料框
y1 y2 y3 y4 1 0.7 0.3 0.5 0.8 2 0.4 -1.7 0.5 0.8 3 -0.7 -0.3 0.5 0.8 4 0.5 -1.4 0.5 0.8 5 0.7 -0.8 0.5 0.8 6 0.3 0.4 0.5 0.8 7 -0.8 0.5 0.5 0.8 8 0.3 0.5 0.5 0.8 9 0.4 -0.1 0.5 0.8 10 0.6 -0.3 0.5 0.8 11 -0.8 -1.3 0.5 0.8 12 0.6 -0.9 0.5 0.8 13 2.4 1.0 0.5 0.8 14 -0.6 0.4 0.5 0.8 15 1.8 0.9 0.5 0.8 16 -1.4 0.6 0.5 0.8 17 0.6 -0.1 0.5 0.8 18 0.6 0.7 0.5 0.8 19 0.5 -1.2 0.5 0.8 20 -1.0 0.7 0.5 0.8
要在上面建立的資料框上提取 df2 至少包含一個非重複值的列,請將以下程式碼新增到上述程式碼段中:
y1<-round(rnorm(20),1) y2<-round(rnorm(20),1) y3<-rep(0.5,20) y4<-rep(0.8,20) df2<-data.frame(y1,y2,y3,y4) Filter(var,df2)
輸出
如果您將以上所有程式碼段作為單個程式執行,它將生成以下輸出:
y1 y2 1 0.7 0.3 2 0.4 -1.7 3 -0.7 -0.3 4 0.5 -1.4 5 0.7 -0.8 6 0.3 0.4 7 -0.8 0.5 8 0.3 0.5 9 0.4 -0.1 10 0.6 -0.3 11 -0.8 -1.3 12 0.6 -0.9 13 2.4 1.0 14 -0.6 0.4 15 1.8 0.9 16 -1.4 0.6 17 0.6 -0.1 18 0.6 0.7 19 0.5 -1.2 20 -1.0 0.7
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP