r - 使数据框中的所有元素都是唯一的

标签 r

假设我有如下所示的数据。

在整个数据中,我总共有 3*A、2*B、2*C,只有 1 个 D、E 和 F。

data <- read.table(textConnection("
col1 col2 
A B
A C
B A
C D
E F
"), header = TRUE)

我想要做的是保持顺序和内容相同,但让它们独一无二。
例如,A 变为 A.1、A.2 和 A.3。
col1 col2 
A.1 B.2
A.2 C.2
B.1 A.3
C.1 D
E F

有什么聪明的方法可以做到这一点吗?

我知道我可以使用 make.uniquemake.names ,但看起来它只适用于一列,而不适用于整个数据集。

最佳答案

使用:

dat[] <- make.unique(as.character(unlist(dat)))

给出:

> dat
  col1 col2
1    A  B.1
2  A.1  C.1
3    B  A.2
4    C    D
5    E    F

关于r - 使数据框中的所有元素都是唯一的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45051967/

相关文章:

r - 与 R 的阶乘

r - 根据条件传播到宽格式

r - R中的加权相关

r - 如何删除指定列中包含 NA 的行?

r - 即使在所有对象都已被删除和清除后,我如何才能让 R 释放并停止持有内存?

r - 使用 R 将 Excel (.xlsx) 工作表打印/保存为 PDF

r - 如何使用 dplyr 添加灵活的增量列?

R 将 ecdf 应用于每一列

r - 如何在R中的数据帧中存储向量

r - 加快查找过程