如何将向量中字符串的重复元素转换为R中的唯一元素?
当我们重复了字符串元素并且希望将它们用作因子水平时,这是可以的,但是如果我们要单独对待它们,则最好使每个值成为唯一元素。为此,我们可以使用make.unique函数。例如,如果我们有一个包含重复的字符串值的向量x,那么为了使它们唯一,可以使用make.unique(x)。
示例
x1<-sample(letters[1:4],10,replace=TRUE) x1
输出
[1] "a" "c" "b" "a" "d" "d" "b" "b" "c" "c"
示例
make.unique(x1)
输出
[1] "a" "b" "c" "c.1" "a.1" "b.1" "a.2" "b.2" "d" "a.3"
示例
x2<-sample(letters[1:4],120,replace=TRUE) x2
输出
[1] "d" "a" "a" "b" "a" "c" "b" "c" "b" "a" "d" "d" "b" "d" "a" "c" "a" "d" [19] "c" "c" "c" "a" "a" "d" "c" "a" "d" "c" "c" "d" "c" "a" "d" "c" "c" "b" [37] "a" "c" "c" "d" "d" "a" "a" "d" "d" "d" "c" "b" "d" "b" "c" "d" "a" "c" [55] "a" "c" "d" "b" "a" "d" "d" "a" "b" "d" "b" "d" "a" "b" "b" "c" "b" "a" [73] "d" "b" "d" "b" "c" "b" "d" "a" "c" "c" "c" "c" "b" "b" "c" "a" "d" "d" [91] "b" "c" "b" "d" "a" "a" "d" "a" "b" "c" "c" "a" "a" "a" "c" "a" "d" "d" [109] "d" "c" "a" "d" "d" "b" "a" "a" "a" "c" "a" "b"
示例
make.unique(x2)
输出
[1] "d" "c" "b" "c.1" "a" "d.1" "a.1" "c.2" "d.2" "c.3" [11] "a.2" "d.3" "c.4" "a.3" "d.4" "c.5" "c.6" "c.7" "a.4" "a.5" [21] "b.1" "c.8" "d.5" "a.6" "c.9" "b.2" "b.3" "c.10" "a.7" "a.8" [31] "a.9" "d.6" "a.10" "d.7" "c.11" "b.4" "b.5" "b.6" "c.12" "d.8" [41] "d.9" "b.7" "c.13" "a.11" "a.12" "d.10" "b.8" "a.13" "c.14" "a.14" [51] "a.15" "c.15" "d.11" "d.12" "d.13" "b.9" "d.14" "d.15" "c.16" "a.16" [61] "b.10" "d.16" "a.17" "a.18" "d.17" "b.11" "c.17" "b.12" "b.13" "c.18" [71] "c.19" "b.14" "c.20" "a.19" "a.20" "d.18" "a.21" "a.22" "a.23" "d.19" [81] "d.20" "c.21" "b.15" "b.16" "d.21" "b.17" "c.22" "a.24" "a.25" "b.18" [91] "a.26" "c.23" "d.22" "d.23" "d.24" "c.24" "b.19" "a.27" "b.20" "a.28" [101] "d.25" "a.29" "b.21" "a.30" "c.25" "b.22" "a.31" "d.26" "d.27" "d.28" [111] "c.26" "b.23" "d.29" "b.24" "c.27" "b.25" "d.30" "a.32" "b.26" "d.31"
示例
x3<-sample(LETTERS[1:10],100,replace=TRUE) x3
输出
[1] "B" "H" "H" "E" "F" "E" "A" "I" "J" "D" "C" "A" "B" "A" "C" "J" "D" "C" [19] "J" "G" "A" "D" "D" "F" "F" "G" "B" "F" "F" "D" "B" "I" "C" "F" "G" "F" [37] "D" "J" "H" "C" "B" "G" "G" "E" "G" "B" "F" "A" "F" "I" "A" "J" "I" "E" [55] "A" "H" "H" "A" "C" "J" "I" "B" "D" "I" "A" "E" "G" "E" "E" "J" "J" "G" [73] "I" "J" "D" "I" "J" "E" "E" "G" "D" "J" "G" "E" "A" "B" "H" "B" "C" "C" [91] "A" "J" "G" "I" "H" "J" "E" "E" "G" "C"
示例
make.unique(x3)
输出
[1] "F" "J" "C" "I" "D" "J.1" "J.2" "J.3" "I.1" "F.1" [11] "C.1" "F.2" "I.2" "I.3" "J.4" "B" "D.1" "F.3" "H" "F.4" [21] "B.1" "D.2" "J.5" "D.3" "B.2" "A" "B.3" "F.5" "D.4" "A.1" [31] "D.5" "J.6" "H.1" "J.7" "B.4" "I.4" "F.6" "F.7" "A.2" "I.5" [41] "B.5" "C.2" "J.8" "C.3" "C.4" "A.3" "D.6" "B.6" "E" "C.5" [51] "G" "J.9" "A.4" "H.2" "I.6" "J.10" "J.11" "C.6" "H.3" "G.1" [61] "B.7" "C.7" "A.5" "F.8" "I.7" "H.4" "J.12" "E.1" "E.2" "E.3" [71] "A.6" "J.13" "B.8" "A.7" "H.5" "F.9" "B.9" "B.10" "J.14" "F.10" [81] "D.7" "E.4" "A.8" "F.11" "I.8" "G.2" "B.11" "J.15" "E.5" "J.16" [91] "E.6" "H.6" "F.12" "C.8" "B.12" "E.7" "G.3" "E.8" "G.4" "A.9"
示例
x4<-sample(c("USA","CHINA","INDIA","CANADA","RUSSIA"),50,replace=TRUE) x4
输出
[1] "INDIA" "CHINA" "INDIA" "CANADA" "INDIA" "CANADA" "INDIA" "CANADA" [9] "INDIA" "CANADA" "CANADA" "CHINA" "CANADA" "CANADA" "INDIA" "CANADA" [17] "CHINA" "INDIA" "CANADA" "RUSSIA" "INDIA" "CANADA" "CANADA" "CHINA" [25] "CANADA" "CHINA" "RUSSIA" "RUSSIA" "INDIA" "CHINA" "CANADA" "USA" [33] "USA" "USA" "RUSSIA" "USA" "CANADA" "CHINA" "USA" "RUSSIA" [41] "CHINA" "RUSSIA" "RUSSIA" "USA" "CHINA" "USA" "USA" "RUSSIA" [49] "CHINA" "CANADA"
示例
x5<-sample(c("tutor","e-learning","programming","tech"),60,replace=TRUE) x5
输出
[1] "tutor" "tutor" "programming" "tutor" "tech" [6] "tutor" "tech" "tech" "tutor" "tech" [11] "tutor" "tutor" "e-learning" "e-learning" "tech" [16] "e-learning" "tutor" "e-learning" "tutor" "tech" [21] "tutor" "programming" "e-learning" "tech" "tutor" [26] "e-learning" "tutor" "e-learning" "tutor" "e-learning" [31] "tech" "programming" "programming" "tutor" "programming" [36] "tech" "tech" "programming" "programming" "programming" [41] "e-learning" "e-learning" "e-learning" "e-learning" "tech" [46] "tech" "programming" "tutor" "e-learning" "e-learning" [51] "programming" "e-learning" "tutor" "e-learning" "tutor" [56] "e-learning" "programming" "e-learning" "tutor" "programming"
示例
make.unique(x5)
输出
[1] "programming" "tech" "programming.1" "tutor" [5] "e-learning" "programming.2" "e-learning.1" "programming.3" [9] "tutor.1" "tech.1" "tech.2" "programming.4" [13] "tech.3" "programming.5" "e-learning.2" "tutor.2" [17] "programming.6" "programming.7" "e-learning.3" "tech.4" [21] "tutor.3" "tech.5" "programming.8" "e-learning.4" [25] "e-learning.5" "tech.6" "programming.9" "programming.10" [29] "programming.11" "tech.7" "programming.12" "tech.8" [33] "e-learning.6" "tutor.4" "programming.13" "e-learning.7" [37] "e-learning.8" "tutor.5" "e-learning.9" "tutor.6" [41] "tutor.7" "e-learning.10" "tech.9" "e-learning.11" [45] "tutor.8" "e-learning.12" "programming.14" "e-learning.13" [49] "e-learning.14" "programming.15" "tutor.9" "e-learning.15" [53] "programming.16" "programming.17" "tutor.10" "tutor.11" [57] "tech.10" "tech.11" "programming.18" "programming.19"