来自向量的R中的级别

时间:2016-11-16 03:28:45

标签: r

lvl是一个包含字符向量的列表。

> lvl["Region"]
$Region
[1] "USA"   "LONDON"    "SINGAPORE"

> factor("USA", levels=lvl["Region"])
[1] <NA>
Levels: c("USA", "LONDON", "SINGAPORE")

> factor("USA", levels=c("USA", "LONDON", "SINGAPORE"))
[1] USA
Levels: USA LONDON SINGAPORE

第三个陈述符合预期。为什么第二个语句只创建1个级别?

1 个答案:

答案 0 :(得分:2)

好像&#39; lvl&#39;是list

lvl['Region']仍然是list,只有一个元素

is.list(lvl['Region'])
#[1] TRUE
levels中的

factor参数取vector。要提取vector,请使用[[

factor("USA", levels=lvl[["Region"]])
#[1] USA
#Levels: USA LONDON SINGAPORE

数据

lvl <- list(Region = c("USA", "LONDON", "SINGAPORE"))