37 sütun içeren bir veri çerçevem var datwe
. 23 - 35 sütunlarındaki tamsayı değerlerini (1,2,99) karakter değerlerine ('Evet', 'Hayır', 'NA') dönüştürmekle ilgileniyorum.Birden çok sütun üzerinde işlem yapmak için sqldf deyiminde CASE Uygula
datwe$COL23 <- sqldf("SELECT CASE COL23 WHEN 1 THEN 'Yes'
WHEN 2 THEN 'No'
WHEN 99 THEN 'NA'
ELSE 'Name ittt'
END as newCol
FROM datwe")$newCol
ayrı ayrı her bir sütun için yukarıdaki sqldf
ifadeleri kullanılarak olmuştur. Bunu yapmanın başka bir akıllı yolu olup olmadığını merak ediyordum, belki de işlevleri uyguluyor musunuz?
datwe
veri yapıları oluşturmak için herhangi bir tekrarlanabilir veriye ihtiyacınız varsa, onu buraya ekleyeceğim. Teşekkürler.
Düzenleme: Örnek datwe
set.seed(12)
data.frame(replicate(37,sample(c(1,2,99),10,rep=TRUE)))
SQL deyiminde 2 beyazlık var - '... NE ZAMAN 1 ...'. Ayrıca, neden sadece 'col23 - col35' ayıklamak değil, sonra R içindeki karaktere dönüştürmek? – zx8754
@ zx8754 Bunun için gönderiyi düzenledim. As.character() 'ın tamsayı değerlerini karakter değerlerine dönüştüreceğini varsayalım. Yeni değerleri dönüştürülecek argüman olarak nereye aktarabilirim? – Prradep