Bu sadece bir meraktır (Küçült hakkında daha fazla bilgi edinerek). Yaptığım şeyi başarmak için daha iyi yöntemler var ve onlarla ilgilenmiyorum. Bazı insanlar, bir şeyi geri yüklemek/aramak için bir dizi iç içe geçmiş ifelse
komutunu kullanır. Belki şuna benzer:ifrelse
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))))
kadar etkileyici biraz işin yapılması için ifelse
ile do.call
veya Reduce
ya kullanmak için bir yolu var mı?
Harika bir soru. Tabii ki, pratikte, bir şey gibi (x, function (x) switch (x, a = 1, b = 2, c = 3, d = 4, 5) muhtemelen temiz. –
@Richie Teşekkürler. d aslında ortamları kullanarak bir tabloya ya da "match" ile standart indekslemeye yaklaşıyor ancak bu soruna "Reduce" ya da "do.call" uygulanıp uygulanamayacağını görmek istedim. –
As: 'match (x, letters) [1: 4], nomatch = 5) ' –