如何根據小寫字母對 R 資料框進行子集化?
如果我們有一個數據框,其中包含一些小寫和一些大寫字串值,那麼我們可能希望根據小寫或大寫字母對資料框進行子集化。
為此,我們可以使用 apply 和 sapply 函式,如下面的示例所示。
示例 1
以下程式碼片段建立了一個示例資料框 -
x1<-sample(c(letters[1:26],LETTERS[1:26]),20) x2<-sample(c(letters[1:26],LETTERS[1:26]),20) df1<-data.frame(x1,x2) df1
建立了以下資料框 -
x1 x2 1 w g 2 b l 3 J Z 4 c y 5 Q M 6 T J 7 Z i 8 s c 9 r j 10 E f 11 S N 12 x R 13 n Q 14 v V 15 N n 16 X P 17 p h 18 z I 19 l x 20 P O
要根據小寫字母對 df1 進行子集化,請將以下程式碼新增到上述程式碼片段中 -
x1<-sample(c(letters[1:26],LETTERS[1:26]),20) x2<-sample(c(letters[1:26],LETTERS[1:26]),20) df1<-data.frame(x1,x2) df1[apply(df1==sapply(df1,tolower),1,any),]
輸出
如果您將以上所有給定的程式碼片段作為單個程式執行,則會生成以下輸出 -
x1 x2 1 w g 2 b l 4 c y 7 Z i 8 s c 9 r j 10 E f 12 x R 13 n Q 14 v V 15 N n 17 p h 18 z I 19 l x
示例 2
以下程式碼片段建立了一個示例資料框 -
y1<-sample(c(letters[1:4],LETTERS[1:4]),20,replace=TRUE) y2<-sample(c(letters[1:4],LETTERS[1:4]),20,replace=TRUE) df2<-data.frame(y1,y2) df2
建立了以下資料框 -
y1 y2 1 d a 2 d D 3 d b 4 d D 5 a a 6 A a 7 A b 8 A B 9 b A 10 C d 11 c B 12 D B 13 A C 14 b d 15 A B 16 c c 17 C D 18 a D 19 c a 20 d d
要根據小寫字母對 df2 進行子集化,請將以下程式碼新增到上述程式碼片段中 -
y1<-sample(c(letters[1:4],LETTERS[1:4]),20,replace=TRUE) y2<-sample(c(letters[1:4],LETTERS[1:4]),20,replace=TRUE) df2<-data.frame(y1,y2) df2[apply(df2==sapply(df2,tolower),1,any),]
輸出
如果您將以上所有給定的程式碼片段作為單個程式執行,則會生成以下輸出 -
y1 y2 1 d a 2 d D 3 d b 4 d D 5 a a 6 A a 7 A b 9 b A 10 C d 11 c B 14 b d 16 c c 18 a D 19 c a 20 d d
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP