量化字符值并表示为数字

时间:2014-02-25 09:04:23

标签: r

数据集中的一列(此处为多行)包含:

凯特

凯特

拉​​里

拉​​里

玛丽

玛丽

玛丽

玛丽

我想用R代表凯特为1,拉里为2,玛丽为3.所以,该列看起来像

1

1

2

2

3

3

3

3

我们是否具有量化R中非数字数据的功能?哪个用?

2 个答案:

答案 0 :(得分:2)

是的,我相信你要找的是factor。 例如:

> text <- c('Kate', 'Kate', 'Larry', 'Larry', 'Marie', 'Marie', 'Marie', 'Marie')
> fact <- as.factor(text)
> fact
[1] Kate  Kate  Larry Larry Marie Marie Marie Marie
Levels: Kate Larry Marie

内部R将其存储为整数向量:

> unclass(fact)
[1] 1 1 2 2 3 3 3 3
attr(,"levels")
[1] "Kate"  "Larry" "Marie"

答案 1 :(得分:0)

转换为factor,然后转换为integer

> column <- c('Kate','Kate','Larry','Larry','Marie','Marie','Marie','Marie')
> as.integer(factor(column))
[1] 1 1 2 2 3 3 3 3