是否可以将多个级别强制设置为一个因子?

时间:2018-08-16 09:55:57

标签: r types

我正在使用包含城市名称的数据集,并希望将它们用作factor元素。我的问题是,某些城市使用相同的名称,因此被解释为一个级别。

四个具有三个名称的独特城市的插图:

# what I get

cities = c("a", "b", "a", "c")
> factor (cities)
[1] a b a c
Levels: a b c


# What I would like to have

> factor (cities)
[1] a b a c
Levels: 1 2 3 4 # or something similar

我尝试使用levels参数来强制要素数量,但这也删除了城市的标签:

> factor (cities, levels=1:4)
[1] <NA> <NA> <NA> <NA>
Levels: 1 2 3 4

有没有什么方法可以解决这个问题,或者我在错误的角落找东西,factor甚至都不是解决这种问题的方法?

1 个答案:

答案 0 :(得分:0)

您可以创建索引以查找级别

cities = c("a", "b", "a", "c")
cities<-as.data.frame(cities)
cities$index<- seq.int(nrow(cities))

###data.frame': 4 obs. of  2 variables:
 $ cities: Factor w/ 3 levels "a","b","c": 1 2 1 3
 $ index : int  1 2 3 4

我希望这可能对您有帮助