如何根据小写字母对 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
热门推荐
10 对患者生日祝福语简短
11 结婚祝福语简短装备
12 周岁祝福语学生文案简短
13 订婚领证祝福语简短精辟
14 导师获奖祝福语大全简短
15 新婚购房祝福语简短精辟
16 牛年祝福语简短的爱人
17 送芒果的祝福语简短
18 送给学长毕业祝福语简短