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个级别?
答案 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"))