SORU
28 NİSAN 2011, PERŞEMBE


Veri çerçevesi, bir koşullu dayalı bir değer Replace (``) R İfadesi

R veri çerçevesi için aşağıda kodlanmış, *5 kez tüm değiştirmek için* istiyorum b ile görünür.

junk <- data.frame(x <- rep(LETTERS[1:4], 3), y <- letters[1:12])
colnames(junk) <- c("nm", "val")

bu sağlar:

   nm val
1   A   a
2   B   b
3   C   c
4   D   d
5   A   e
6   B   f
7   C   g
8   D   h
9   A   i
10  B   j
11  C   k
12  D   l

Benim ilk girişimi gibi for if ifadeler kullanmak için:

for(i in junk$nm) if(i %in% "B") junk$nm <- "b"

ama gördüğünüz emin olduğum gibi, bu b 12 *TÜM değerleri değiştirir. Bu neden bunları yaptığını görüyorum ama sadece önemsiz bu durumda özgün değer B nerede$nm yerini almak için görünmüyor olabilir.

Teşekkür ederim.

NOT: R hala işe ait orijinal bir yaklaşım eğer mümkünse () almak için nasıl bilmek ister öğrenme faiz gsub ile ama sorunu çözmek için başardı

CEVAP
28 NİSAN 2011, PERŞEMBE


Kolay karakter nm dönüştürmek ve değişikliği yapın:

junk$nm <- as.character(junk$nm)
junk$nm[junk$nm == "B"] <- "b"

EDİT: Ve eğer gerçekten bir faktör olarak nm korumak gerekiyorsa, sonunda bu ekleyin:

junk$nm <- as.factor(junk$nm)

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:
R

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Evan Coury

    Evan Coury

    29 NİSAN 2007
  • humanHardDrive

    humanHardDri

    16 Mart 2011
  • SavageLuxxxGaming - Daily NBA 2K15 & NBA Live 15 Enjoy And Subscribe!

    SavageLuxxxG

    11 Ocak 2013