我有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