如何在 R 数据框中使所有值唯一?
为了使 R 数据框中的所有值唯一,我们可以使用 make.unique 函数,但首先我们需要将数据框值展开并使用 as.character 读取它们。例如,如果我们有一个名为 df 的数据框,其中包含重复值和非重复值,那么我们可以使用以下命令使所有值唯一:-
df[]<-make.unique(as.character(unlist(df)))
示例 1
以下代码片段创建了一个示例数据框:-
x<-rpois(20,1) df1<-data.frame(x) df1
创建了以下数据框
x 1 0 2 0 3 1 4 1 5 1 6 0 7 2 8 0 9 1 10 0 11 0 12 0 13 1 14 2 15 1 16 1 17 0 18 0 19 1 20 1
要在上面创建的数据框上使 df1 中的所有值唯一,请将以下代码添加到上述代码片段中:-
x<-rpois(20,1) df1<-data.frame(x) df1[]<-make.unique(as.character(unlist(df1))) df1
输出
如果您将上面给出的所有代码片段作为一个程序执行,它将生成以下输出:-
x 1 0 2 0.1 3 1 4 1.1 5 1.2 6 0.2 7 2 8 0.3 9 1.3 10 0.4 11 0.5 12 0.6 13 1.4 14 2.1 15 1.5 16 1.6 17 0.7 18 0.8 19 1.7 20 1.8
示例 2
以下代码片段创建了一个示例数据框:-
y<-sample(letters[1:5],20,replace=TRUE) df2<-data.frame(y) df2
创建了以下数据框
y 1 c 2 a 3 b 4 c 5 c 6 d 7 a 8 a 9 e 10 a 11 c 12 c 13 c 14 a 15 c 16 b 17 c 18 c 19 d 20 b
要在上面创建的数据框上使 df2 中的所有值唯一,请将以下代码添加到上述代码片段中:-
y<-sample(letters[1:5],20,replace=TRUE) df2<-data.frame(y) df2[]<-make.unique(as.character(unlist(df2))) df2
输出
如果您将上面给出的所有代码片段作为一个程序执行,它将生成以下输出:-
y 1 c 2 a 3 b 4 c.1 5 c.2 6 d 7 a.1 8 a.2 9 e 10 a.3 11 c.3 12 e.1 13 c.4 14 a.4 15 c.5 16 b.1 17 c.6 18 c.7 19 d.1 20 b.2
广告
数据结构
网络
关系数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP