ฉันยังใหม่กับ R (โดยเฉพาะแพ็คเกจกราฟิก) และฉันมีปัญหาในการสร้างฮิสโทแกรมแบบมีเงื่อนไข
เมื่อพิจารณาจากกรอบข้อมูลสมมุติ df:
df<-as.data.frame(cbind(y=c(1:5),a=c(1,1,2,2,3),b=c(2,3,3,4,5), c=c(3,4,5,6,7)))
ฉันต้องการสร้างฮิสโตแกรมของ y แบบมีเงื่อนไขบนชุดค่าผสมเฉพาะของ a, b และ c:
groups<-unique(cbind(df$a,df$b,df$c))
(ฉันเข้าใจว่าฮิสโตแกรมที่ใช้กรอบข้อมูลเฉพาะนี้ไม่สมเหตุสมผลนัก แต่เพื่อความเรียบง่ายและกะทัดรัดก็จะใช้ได้)
แน่นอนว่าฉันสามารถดูค่าเฉพาะของตัวแปรการปรับสภาพของฉันและเขียนโค้ดสำหรับฮิสโตแกรมแต่ละอันแยกกัน แต่ฉันต้องการให้กระบวนการเป็นแบบอัตโนมัติ:
library(lattice)
for (i in 1:5) { #for the 5 unique groups
histogram(~y | a==groups[i,1] & b==groups[i,2] & c==groups[i,3], data=df)
dev.new()
}
รหัสนี้ดำเนินการและเปิดหน้าต่างกราฟิกในจำนวนที่ถูกต้อง แต่ไม่มีผลลัพธ์ นอกจากนี้ หากมีอาร์กิวเมนต์ที่จะเพิ่มลงในฟังก์ชันฮิสโตแกรมซึ่งจะบังคับให้เอาต์พุตแสดงเฉพาะเมื่อตรงตามเงื่อนไขเท่านั้น (แทนที่จะแสดงทั้งบานหน้าต่าง TRUE และ FALSE) ฉันก็สนใจที่จะเรียนรู้เช่นกัน
ขอบคุณ