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

  • Bratayley

    Bratayley

    30 Aralık 2010
  • FPSRussia

    FPSRussia

    19 NİSAN 2010
  • Lena Danya

    Lena Danya

    11 NİSAN 2010