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ş:
jQuery - filtre elemanı dayalı .() ver...
Varlık Çerçevesi Kod-ilk veritabanı va...
Nasıl (birleştirme) veri çerçevesi (iç...
R veri çerçevesi değişen sütun adları...
Nasıl baskı (kağıt için) güzelce biçim...