如何从 R 数据框列中对非重复值进行子集化?
通常,重复值在第一次出现后被考虑,但第一次出现的值也是其余值的重复。因此,我们可能也想排除它。
借助带有否定运算符的重复函数,可以轻松完成 R 数据框列中非重复值的子集化,如下面的示例所示。
示例 1
以下代码段创建了一个示例数据框 -
x<-rpois(20,10)df1<-data.frame(x)
df1
创建了以下数据框
x1 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
创建了以下数据框
y1 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
创建了以下数据框
z1 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