如何從 R 資料框中刪除任何值大於 n 的行?
如果 R 資料框中任何行的值大於 n,可以使用帶單方括號和否定運算子的子集來刪除該行。我們將對大於 n 的值進行子集選擇,然後取該子集的否定,如下面的示例所示。
示例 1
以下程式碼片段建立一個示例資料框:
x1<-rpois(20,5) x2<-rpois(20,2) x3<-rpois(20,8) df1<-data.frame(x1,x2,x3) df1
輸出
建立了以下資料框:
x1 x2 x3 1 4 2 12 2 4 0 10 3 3 0 10 4 5 3 5 5 6 0 8 6 4 1 7 7 2 1 7 8 4 1 10 9 10 0 10 10 6 4 4 11 3 3 13 12 7 0 8 13 3 1 7 14 4 0 6 15 5 3 5 16 4 0 2 17 3 3 7 18 6 2 7 19 7 3 17 20 2 3 11
如果要刪除 df1 中任何行值大於 10 的行,請將以下程式碼新增到上面的程式碼片段中:
df1[!rowSums(df1>10),]
輸出
如果將以上所有程式碼片段作為單個程式執行,則會生成以下輸出:
x1 x2 x3 2 4 0 10 3 3 0 10 4 5 3 5 5 6 0 8 6 4 1 7 7 2 1 7 8 4 1 10 9 10 0 10 10 6 4 4 12 7 0 8 13 3 1 7 14 4 0 6 15 5 3 5 16 4 0 2 17 3 3 7 18 6 2 7
示例 2
以下程式碼片段建立一個示例資料框:
y1<-rnorm(20) y2<-rnorm(20) y3<-rnorm(20) df2<-data.frame(y1,y2,y3) df2
輸出
建立了以下資料框:
y1 y2 y3 1 0.23815055 0.44797910 -0.009917453 2 -0.82579339 -0.67543673 -0.313231987 3 0.93456545 0.34720074 0.856496009 4 -0.14107504 -0.66473395 -0.102566172 5 -0.31613111 0.79806925 -0.464500620 6 0.13722725 0.42098274 0.800216082 7 -0.46063194 -1.19591354 -0.935939317 8 1.25424818 0.77225841 0.508798438 9 1.18270201 0.40060187 0.718047210 10 1.11736153 0.74206460 1.529896849 11 -0.96901766 1.72965814 -1.138898309 12 -0.01484298 0.62858032 1.805046282 13 -0.01423460 0.80616290 -0.290950215 14 -0.80448205 -0.78334124 -0.589883476 15 -0.04113097 -0.22948217 0.689388447 16 -0.66901901 0.85912428 1.078791419 17 -0.07033102 -0.05181978 0.707799373 18 0.21166522 0.73385673 1.254184717 19 0.03052462 0.49958642 0.066300327 20 0.60012460 0.91094585 0.881134455
如果要刪除 df2 中任何行值大於 0.5 的行,請將以下程式碼新增到上面的程式碼片段中:
df2[!rowSums(df2>0.5),]
輸出
如果將以上所有程式碼片段作為單個程式執行,則會生成以下輸出:
y1 y2 y3 1 0.23815055 0.4479791 -0.009917453 2 -0.82579339 -0.6754367 -0.313231987 4 -0.14107504 -0.6647339 -0.102566172 7 -0.46063194 -1.1959135 -0.935939317 14 -0.80448205 -0.7833412 -0.589883476 19 0.03052462 0.4995864 0.066300327
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP