如何将字符向量转换为定量数据

时间:2015-06-10 16:13:22

标签: r

我有一个包含以下数据的载体:

data<-c('ab','ab','ab','cd','cd','cd','ef','ef')

如何使用R转换该数据,以便使用以下模式进行转换:

ab=1
cd=2
ef=3

这样矢量将转换为:

data=[1,1,1,2,2,2,3,3]

2 个答案:

答案 0 :(得分:3)

另一个选项是match

match(data, unique(data))
#[1] 1 1 1 2 2 2 3 3

或者代替unique(data),您可以指定要匹配的元素的向量。

match(data, c('ab', 'cd', 'ef'))

答案 1 :(得分:2)

这基本上是一个&#34;因素&#34;在R.你可以做到

as.numeric(factor(data, levels=c("ab","cd","ef")))

您还可以使用命名查找向量

vv<-c(ab=1, cd=2, ef=3)
vv[data]
# or unname(vv[data]) if the names really bother you