如何从向量中获取唯一元素并保留其名称?

Sau*_*cia 5 r unique subset

我知道有一个函数unique()可以从向量中提取唯一值。但我失去了它的名字。

前任。

vector = c("A" = 1, "B" = 2, "A" = 1, "C" = 3, "B" = 2, "D" = 3, "D" = 3)
Run Code Online (Sandbox Code Playgroud)

如果我打印,我应该看到:

A B A C B D D
1 2 1 3 2 3 3
Run Code Online (Sandbox Code Playgroud)

预期输出

A B C D
1 2 3 3
Run Code Online (Sandbox Code Playgroud)

尝试:

如果我使用:unique(vector)我只得到1 2 3

如果我使用:vector[!duplicated(vector)]我得到:

A B C 
1 2 3 
Run Code Online (Sandbox Code Playgroud)

这很接近,但"D" = 3缺少。

Ron*_*hah 5

vector = c(A=1,B=2,A=1,C=3,B=2,D=3,D=3)
Run Code Online (Sandbox Code Playgroud)

当你这样做时,

vector[!duplicated(vector)]
Run Code Online (Sandbox Code Playgroud)

它在值vector而不是名称中查找重复项,因此您得到的输出是

A B C 
1 2 3 
Run Code Online (Sandbox Code Playgroud)

如果你想找到独特的名字,那么你应该运行duplicated在功能上namesvector

vector[!duplicated(names(vector))]

A B C D 
1 2 3 3 
Run Code Online (Sandbox Code Playgroud)

也可以使用类似的输出来实现 unique

vector[unique(names(vector))]

A B C D 
1 2 3 3 
Run Code Online (Sandbox Code Playgroud)