如何从 R 数据框列中对非重复值进行子集化?

通常,重复值在第一次出现后被考虑,但第一次出现的值也是其余值的重复。因此,我们可能也想排除它。

借助带有否定运算符的重复函数,可以轻松完成 R 数据框列中非重复值的子集化,如下面的示例所示。

示例 1

以下代码段创建了一个示例数据框 -

x<-rpois(20,10)

df1<-data.frame(x)

df1

创建了以下数据框

    x

1  16

2   5

3  17

4   7

5   6

6   7

7  14

8  10

9   7

10 13

11 11

12 15

13  4

14 10

15 16

16 11

17 10

18 11

19  9

20 11

要对 x 中的非重复值进行子集化并排除上面创建的数据框中的第一个重复项,请将以下代码添加到上面的代码段中 -

x<-rpois(20,10)

df1<-data.frame(x)

df1$x[!(duplicated(df1$x)|duplicated(df1$x,fromLast=TRUE))]

输出结果

如果您将上述所有给定的片段作为单个程序执行,它会生成以下输出 -

[1] 5 17 6 14 13 15 4 9

示例 2

以下代码段创建了一个示例数据框 -

y<-sample(1:10,20,replace=TRUE)

df2<-data.frame(y)

df2

创建了以下数据框

    y

1   8

2  10

3   1

4   5

5   5

6   2

7   1

8   2

9   6

10  7

11 10

12  5

13  7

14  4

15  2

16  1

17  6

18  5

19 10

20  7

要从 y 中提取非重复值并排除上面创建的数据框中的第一个重复值,请将以下代码添加到上面的代码段中 -

y<-sample(1:10,20,replace=TRUE)

df2<-data.frame(y)

df2

df2$y[!(duplicated(df2$y)|duplicated(df2$y,fromLast=TRUE))]

输出结果

如果您将上述所有给定的片段作为单个程序执行,它会生成以下输出 -

[1] 8 4

示例 3

以下代码段创建了一个示例数据框 -

z<-sample(501:510,20,replace=TRUE)

df3<-data.frame(z)

df3

创建了以下数据框

     z

1  509

2  507

3  504

4  508

5  502

6  510

7  508

8  506

9  503

10 508

11 507

12 508

13 502

14 508

15 506

16 510

17 505

18 510

19 510

20 505

要从 y 中提取非重复值并排除上面创建的数据框中的第一个重复值,请将以下代码添加到上面的代码段中 -

z<-sample(501:510,20,replace=TRUE)

df3<-data.frame(z)

df3$z[!(duplicated(df3$z)|duplicated(df3$z,fromLast=TRUE))]

输出结果

如果您将上述所有给定的片段作为单个程序执行,它会生成以下输出 -

[1] 509 504 503

以上是 如何从 R 数据框列中对非重复值进行子集化? 的全部内容, 来源链接: utcz.com/z/343707.html

回到顶部