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

  • ChrisCrossMedia

    ChrisCrossMe

    17 EYLÜL 2009
  • funbro1

    funbro1

    11 Aralık 2007
  • NewsyTech

    NewsyTech

    2 AĞUSTOS 2010