Я поддерживаю некоторый R-код, и я изучаю эту функцию, которая в основном, похоже, выполняет ту же работу в as.vector()
, но делает он в самом деле кругом, скрывая путь.Я пропускаю что-то в этой функции R (преобразует из коэффициента в вектор, а затем преобразует обратно в коэффициент)
f2v <- function(x) if (is.factor(x)) levels(x)[x] else x
И одно из способов использования функции просто излишне вызывает его.
xx <- as.factor(f2v(x))
Я все еще довольно свежий на R, так что я просто интересно, если я пропускаю некоторый тонкий момент здесь, что я не в состоянии оценить. Но на первый взгляд похоже, что автор действительно не понимал, что они делают, может быть, скопировать вслепую.
Это действительно странный код. –
'levels (x) [x]' - способ преобразования фактора в вектор символа. Это все 'f2v()' делает. Это на самом деле более эффективно, чем 'as.character (x)' –