我有3个级别的R中的一个因素变量data.frame使用grepl填补变量值产生中的R奇怪的结果
'data.frame': 23848 obs. of 14 variables:
$ Factor_var : Factor w/ 3 levels "AAA","BBB",..: 1 1 3 3 3 3 2 2 2 2 ...
我要覆盖值中的一个与不同的使用grepl功能,但只有当它是值的一个串 - 否则它应保持不变
DF$Factor_var <- ifelse(grepl("AAA", DF$Factor_var), "ZZZ", DF$Factor_var)
已经运行这个转换后,我回去CHR变量只ST环值,我只是inpute,并参照老弦
'data.frame': 23848 obs. of 14 variables:
$ Factor_var : chr "ZZZ" "ZZZ" "3" "3" ...
,而我仍然期待着与水平“ZZZ”的因子变量的水平值值,“BBB” ...等
这是为什么?我无法解决这个问题!
THX
如果它是一个因子,那么改变水平即水平(DF $ Factor_var)< - ifelse(grepl(“AAA”,levels(DF $ Factor_var)),“ZZZ”,水平(DF $ Factor_var))' – akrun