如何根据特定列的分组值从R中的数据框中删除行?

如果我们在R数据框中有一个分组列,并且我们认为其中一个分组值对我们的分析没有用,那么我们可能希望删除所有包含该值的行并继续进行分析,这也许是可能的。重复其中一个值,我们想摆脱它。在这种情况下,我们可以使用否定和单个方括号对数据框进行子集设置。

示例

set.seed(1212)

x<-sample(LETTERS[1:3],20,replace=TRUE)

y<-rpois(20,5)

df<-data.frame(x,y)

df

输出结果

   x y

1  A 6

2  A 3

3  C 4

4  B 4

5  B 8

6  A 5

7  A 9

8  A 6

9  C 5

10 A 7

11 B 3

12 C 4

13 A 4

14 B 7

15 B 2

16 B 5

17 A 5

18 A 5

19 C 7

20 A 5

删除x列中包含A的行-

示例

df[!df$x=='A',]

输出结果

   x y

1  B 7

4  B 4

5  C 7

6  B 2

8  C 5

10 B 7

12 C 3

13 C 6

14 C 5

16 C 4

17 B 5

19 B 7

删除列x中包含B的行-

示例

df[!df$x=='B',]

输出结果

   x y

2  A 3

3  A 4

5  C 7

7  A 5

8  C 5

9  A 5

11 A 5

12 C 3

13 C 6

14 C 5

15 A 4

16 C 4

18 A 2

20 A 11

删除列x中包含C的行-

示例

df[!df$x=='C',]

输出结果

   x y

1  B 7

2  A 3

3  A 4

4  B 4

6  B 2

7  A 5

9  A 5

10 B 7

11 A 5

15 A 4

17 B 5

18 A 2

19 B 7

20 A 11

删除y列中包含3的行-

示例

df[!df$y==3,]

输出结果

   x y

1  B 7

3  A 4

4  B 4

5  C 7

6  B 2

7  A 5

8  C 5

9  A 5

10 B 7

11 A 5

13 C 6

14 C 5

15 A 4

16 C 4

17 B 5

18 A 2

19 B 7

20 A 11

删除在y列中包含7的行-

示例

df[!df$y==7,]

输出结果

   x y

2  A 3

3  A 4

4  B 4

6  B 2

7  A 5

8  C 5

9  A 5

11 A 5

12 C 3

13 C 6

14 C 5

15 A 4

16 C 4

17 B 5

18 A 2

20 A 11

删除y列中包含5的行-

示例

df[!df$y==5,]

输出结果

   x y

1  B 7

2  A 3

3  A 4

4  B 4

5  C 7

6  B 2

10 B 7

12 C 3

13 C 6

15 A 4

16 C 4

18 A 2

19 B 7

20 A 11

以上是 如何根据特定列的分组值从R中的数据框中删除行? 的全部内容, 来源链接: utcz.com/z/348790.html

回到顶部