将数据框中的一列字符串转换为 R 中的数字(不是通常的那种)
Convert a column of strings in data frame into numeric in R (not the usual kind)
所以在 R 中,我有一列包含类似于以下内容的字符串:
"Peter","Paul","John","Melissa","Paul","Peter" ...
我想将这些名称转换为数字 ID 格式,如下所示:
1,2,3,4,2,1
换句话说 - 我想为名称创建一个数字 ID,其中相同的名称具有相同的数值,不同的名称具有不同的数值。最好的方法是什么?
尝试
match(v1, unique(v1))
#[1] 1 2 3 4 2 1
或者
as.numeric(factor(v1, levels=unique(v1)))
#[1] 1 2 3 4 2 1
数据
v1 <- c('Peter', 'Paul', 'John', 'Melissa', 'Paul', 'Peter')
所以在 R 中,我有一列包含类似于以下内容的字符串:
"Peter","Paul","John","Melissa","Paul","Peter" ...
我想将这些名称转换为数字 ID 格式,如下所示:
1,2,3,4,2,1
换句话说 - 我想为名称创建一个数字 ID,其中相同的名称具有相同的数值,不同的名称具有不同的数值。最好的方法是什么?
尝试
match(v1, unique(v1))
#[1] 1 2 3 4 2 1
或者
as.numeric(factor(v1, levels=unique(v1)))
#[1] 1 2 3 4 2 1
数据
v1 <- c('Peter', 'Paul', 'John', 'Melissa', 'Paul', 'Peter')