R 如何将字符串列表转换为唯一的单个字符?
我有一个变量,它是一系列不同的鸟叫声。我想给每个不同的电话一个独特的,单一的字符。我已经找到了一种给他们唯一数字的方法,但一旦我达到10,那就不行了,因为我需要把这个列表变成一个字母和/或数字串 例如,我的一些数据帧如下所示:R 如何将字符串列表转换为唯一的单个字符?,r,R,我有一个变量,它是一系列不同的鸟叫声。我想给每个不同的电话一个独特的,单一的字符。我已经找到了一种给他们唯一数字的方法,但一旦我达到10,那就不行了,因为我需要把这个列表变成一个字母和/或数字串 例如,我的一些数据帧如下所示: > d1 Order Type 1 1 Bowerbird a 2 2 Catbird 3 3 Robin 4 4 Scrubwren 5 5 Bowerbird b 6 6
> d1
Order Type
1 1 Bowerbird a
2 2 Catbird
3 3 Robin
4 4 Scrubwren
5 5 Bowerbird b
6 6 Kookaburra
7 7 Catbird
8 8 Rosella
我想将每个独特的调用转换为不同的字符。它可以是小写字母、大写字母或数字,只要它们都是单位数。例如:
> d1
Order Type Unique
1 1 Bowerbird a a
2 2 Catbird b
3 3 Robin c
4 4 Scrubwren 1
5 5 Bowerbird b 2
6 6 Kookaburra A
7 7 Catbird b
8 8 Rosella B
然后,可以将该调用序列写入“abc12AbB”
我有大约40个不同的可能调用,所以如果可以避免的话,我不想使用ifelse函数。有没有办法将每个字符串转换为唯一的字符?我们可以使用大小为62的数字0-9的大写字母和小写字母
set.seed(123)
df$unique <- sample(c(letters, LETTERS, 0:9))[factor(df$Type)]
df
# Order Type unique
#1 1 Bowerbirda E
#2 2 Catbird Y
#3 3 Robin c
#4 4 Scrubwren X
#5 5 Bowerbirdb o
#6 6 Kookaburra n
#7 7 Catbird Y
#8 8 Rosella P
paste0(df$unique, collapse = "")
#[1] "EYcXonYP"