我谷歌了很多次,结果都不是我想要的:
样本数据集如下所示:
year = c(1991,1996,2001,2006,2011,2016,2021)
factor(a,levels = c(1991,1996,2001,2011,2016,2021))
结果是:
[1] 1991 1996 2001 <NA> 2011 2016 2021
Levels: 1991 1996 2001 2011 2016 2021
我想将2006
的级别设置为与2001
相同,因此,我的有利结果将是:
[1] 1991 1996 2001 2006 2011 2016 2021
Levels: 1991 1996 2001 2011 2016 2021
是否可以在不改变向量year
的原始内容的情况下,将2006
的级别更改为与2001
相同?
2条答案
按热度按时间koaltpgm1#
当你深入挖掘
factor
的源代码时,我猜你的脑海中会有答案(我想对你的问题应该是“不”)正如我们所看到的,
levels
要么由unique(x, nmax = nmax)
生成(如果没有提供levels
参数),要么由levels[is.na(match(levels, exclude))]
和给定的levels
生成。这意味着,不可能有一个level
对应两个x
值。5f0d552i2#
这是不可能的,不确定你的目的是什么,但是你可以这样做,初始值就是名字。