สิ่งที่คุณสามารถทำได้คือใช้แนวคิดการแรเงาที่เหลือจาก vcd ที่นี่ร่วมกับการสร้างภาพเมทริกซ์ที่กระจัดกระจายเป็นตัวอย่างในหน้า 49 ของบทหนังสือเล่มนี้ ลองนึกภาพพล็อตหลังที่มีเงาที่หลงเหลืออยู่และคุณจะได้รับความคิด
ตารางเมทริกซ์กระจัดกระจาย / contigency โดยปกติจะมีจำนวนของการเกิดขึ้นของยาแต่ละชนิดที่มีผลข้างเคียง ด้วยแนวคิดการแรเงาที่เหลือ แต่คุณสามารถตั้งค่าโมเดลเชิงเส้นของบันทึกข้อมูลพื้นฐาน (เช่นแบบอิสระหรืออะไรก็ได้ที่คุณต้องการ) และใช้ชุดสีเพื่อค้นหาว่าชุดยา / เอฟเฟกต์ใดเกิดขึ้นบ่อย / น้อยกว่าแบบจำลอง . เนื่องจากคุณมีข้อสังเกตมากมายคุณสามารถใช้การกำหนดค่าสีใหม่ ๆ และรับแผนที่ที่มีลักษณะคล้ายกับวิธีการวิเคราะห์ microarrays ในการวิเคราะห์กลุ่มเช่นที่นี่(แต่อาจมี "การไล่ระดับสี" ที่เข้มกว่า) หรือคุณสามารถสร้างขีด จำกัด ดังกล่าวได้ก็ต่อเมื่อความแตกต่างของการสังเกตต่อการคาดการณ์นั้นเกินขีด จำกัด ที่ได้รับจากสีและส่วนที่เหลือจะยังคงเป็นสีขาว คุณจะทำสิ่งนี้ได้อย่างไร (เช่นรูปแบบที่จะใช้หรือเกณฑ์ใด) ขึ้นอยู่กับคำถามของคุณ
แก้ไข
ดังนั้นนี่คือวิธีที่ฉันจะทำ (เนื่องจากฉันมี RAM เพียงพอ ... )
- สร้างเมทริกซ์กระจัดกระจายของขนาดที่ต้องการ (ชื่อยา x ผลกระทบ)
- คำนวณส่วนที่เหลือจากรูปแบบบันทึกอิสระ
- ใช้การไล่ระดับสีในความละเอียดที่ละเอียดจากขั้นต่ำถึงสูงสุดของที่เหลือ (เช่นกับ colorspace hsv)
- แทรกค่าสีตามขนาดของสารตกค้างที่ตำแหน่งตามในเมทริกซ์เบาบาง
- พล็อตเมทริกซ์ด้วยพล็อตรูปภาพ
จากนั้นคุณก็จบลงด้วยบางสิ่งเช่นนี้ (แน่นอนว่ารูปภาพของคุณจะใหญ่กว่าและจะมีขนาดพิกเซลที่ต่ำกว่ามาก แต่คุณควรจะได้ความคิดด้วยการใช้สีอย่างชาญฉลาด สนใจใน).
ตัวอย่างที่รวดเร็วและสกปรกด้วยเมทริกซ์ 100x100 นี่เป็นเพียงตัวอย่างของเล่นที่มีของเหลือตั้งแต่ -10 ถึง 10 อย่างที่คุณเห็นในตำนาน สีขาวเป็นศูนย์สีน้ำเงินน้อยกว่าที่คาดไว้สีแดงบ่อยกว่าที่คาดไว้ คุณควรจะได้รับความคิดและนำมาจากที่นั่น แก้ไข: ฉันแก้ไขการตั้งค่าของพล็อตและใช้สีที่ไม่รุนแรง
สิ่งนี้ทำโดยใช้image
ฟังก์ชันและcm.colors()
ในฟังก์ชันต่อไปนี้:
ImagePlot <- function(x, ...){
min <- min(x)
max <- max(x)
layout(matrix(data=c(1,2), nrow=1, ncol=2), widths=c(1,7), heights=c(1,1))
ColorLevels <- cm.colors(255)
# Color Scale
par(mar = c(1,2.2,1,1))
image(1, seq(min,max,length=255),
matrix(data=seq(min,max,length=255), ncol=length(ColorLevels),nrow=1),
col=ColorLevels,
xlab="",ylab="",
xaxt="n")
# Data Map
par(mar = c(0.5,1,1,1))
image(1:dim(x)[1], 1:dim(x)[2], t(x), col=ColorLevels, xlab="",
ylab="", axes=FALSE, zlim=c(min,max))
layout(1)
}
#100x100 example
x <- c(seq(-10,10,length=255),rep(0,600))
mat <- matrix(sample(x,10000,replace=TRUE),nrow=100,ncol=100)
ImagePlot(mat)
ใช้ความคิดจากที่นี่http://www.phaget4.org/R/image_matrix.html หากเมทริกซ์ของคุณมีขนาดใหญ่จนimage
ฟังก์ชั่นช้าให้ใช้useRaster=TRUE
อาร์กิวเมนต์ (คุณอาจต้องการใช้วัตถุเมทริกซ์แบบกระจัดกระจายโปรดทราบว่าควรมีimage
วิธีการถ้าคุณต้องการใช้รหัสจากด้านบนดูแพคเกจ sparseM)
หากคุณทำสิ่งนี้การเรียงลำดับแถว / คอลัมน์ที่ชาญฉลาดบางอย่างอาจเป็นประโยชน์ซึ่งคุณสามารถคำนวณได้ด้วยแพ็คเกจ arules (ตรวจสอบหน้า 17 และ 18 หรือมากกว่านั้น) โดยทั่วไปฉันจะแนะนำ arules ยูทิลิตี้สำหรับข้อมูลประเภทนี้และปัญหา (ไม่เพียง แต่การสร้างภาพข้อมูล แต่ยังเพื่อหารูปแบบ) ที่นั่นคุณจะพบมาตรการการเชื่อมโยงระหว่างระดับที่คุณสามารถใช้แทนการแรเงาที่เหลือ
คุณอาจต้องการดูตารางของคุณต้องการตรวจสอบผลข้างเคียงเพียงไม่กี่อย่างในภายหลัง