Мы можем преобразовать в character
и затем объединить, чтобы избежать принуждения к целочисленным значениям хранения для factor
'b'
c(as.character(unique(b$b)), 'xx')
#[1] "1" "2" "3" "x" "xx"
Или при создании data.frame
используйте stringsAsFactors = FALSE
(по умолчанию это TRUE
), чтобы избежать преобразования столбцов с символьными элементами в factor
class
df <- data.frame(a = c(1,2,3,4), b = c('1','2','3','x'), stringsAsFactors = FALSE)
Теперь код OP будет работать
c(unique(b$b), 'xx')