использование Reduce/do.call с ifelse

Это просто любопытство (узнать больше о Reduce ). Есть гораздо лучшие методы для достижения того, что я делаю, но они меня не интересуют.

Некоторые люди используют ряд вложенных команд ifelseдля перекодирования/поиска чего-либо. Может быть, это выглядит так:

set.seed(10); x <- sample(letters[1:10], 300, T)
ifelse(x=="a", 1, 
    ifelse(x=="b", 2,
    ifelse(x=="c", 3, 
    ifelse(x=="d", 4, 5))))

Есть ли способ использовать do.callили Reduceс ifelse, чтобы сделать работу немного более красноречивой?

10
задан Tyler Rinker 3 August 2012 в 15:00
поделиться