ในกรอบ R ข้อมูลรหัสสำหรับด้านล่างผมอยากจะเปลี่ยนทุกครั้งที่ปรากฏขึ้นพร้อมกับ B
b
junk <- data.frame(x <- rep(LETTERS[1:4], 3), y <- letters[1:12])
colnames(junk) <- c("nm", "val")
สิ่งนี้ให้:
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
ความพยายามครั้งแรกของฉันคือใช้ a for
and if
statement ดังนี้:
for(i in junk$nm) if(i %in% "B") junk$nm <- "b"
แต่ในฐานะที่ผมมั่นใจว่าคุณสามารถดูนี้แทนที่ของค่าของกับjunk$nm
b
ฉันสามารถดูว่าทำไมถึงทำเช่นนี้ แต่ฉันไม่สามารถดูเหมือนจะได้รับมันจะเปลี่ยนเฉพาะกรณีดังกล่าวของขยะ $ B
นาโนเมตรที่ค่าเดิมคือ
หมายเหตุ: ฉันสามารถแก้ปัญหาได้gsub
แต่เพื่อความสนใจในการเรียนรู้ RI ยังคงต้องการทราบวิธีการใช้งานแนวทางเดิมของฉัน (ถ้าเป็นไปได้)