วิธีการมองเห็นตารางฉุกเฉินที่กระจัดกระจายอย่างมาก?


24

ฉันมีสองตัวแปร: ชื่อยา (DN) และเหตุการณ์ไม่พึงประสงค์ที่เกี่ยวข้อง (AE) ที่เกี่ยวข้องซึ่งมีความสัมพันธ์แบบกลุ่มต่อกลุ่ม ชื่อยา 33,556 รายการและเหตุการณ์ไม่พึงประสงค์ 9,516 รายการ ขนาดตัวอย่างประมาณ 5.8 ล้านข้อสังเกต

ฉันต้องการศึกษาและเข้าใจความสัมพันธ์ / ความสัมพันธ์ระหว่าง DN และ AE ฉันกำลังคิดเกี่ยวกับวิธีการมองภาพชุดนี้ใน R เพราะจะดีกว่าที่จะดูรูปภาพ ฉันไม่แน่ใจว่าจะทำอย่างไร ...


3
(+1) เนื่องจากข้อมูลเพิ่มเติมที่นำเสนอในความคิดเห็นเหล่านี้ (เนื่องจากถูกลบเนื่องจากข้อมูลตอนนี้ปรากฏในคำถาม) สิ่งนี้ได้กลายเป็นปัญหาที่น่าสนใจและท้าทาย ฉันขอแนะนำให้ผู้ลงคะแนนก่อนหน้านี้เปลี่ยนการลงคะแนนเพื่อรับรู้ถึงสิ่งนี้ (และคนอื่น ๆ เพื่อยกเลิกคำถามถ้าคุณเห็นด้วยกับฉัน!)
whuber

1
มีข้อมูลสาธารณะหรือไม่
พระคาร์ดินัล

5
@ cardinal ใช่ .. ข้อมูลที่ได้จาก FDA เรียกว่า AERS ดูลิงค์: fda.gov/Drugs/GuidanceComplianceRegulatoryInformation/?hl=th
9292

นี่เป็นปัญหาที่ทราบกันดีว่ามีวรรณกรรมขนาดใหญ่: คุณสามารถดูตัวอย่างเช่น (จากสถิติในทางการแพทย์ดาวน์โหลดได้): "วิธีการตรวจจับสัญญาณเภสัชจลนศาสตร์เบย์ตรวจเยี่ยมการตั้งค่าการเปรียบเทียบหลายครั้ง" และการอ้างอิงนั้น
kjetil b halvorsen

ดูเหมือนว่ากระดาษที่น่าสนใจ (ไม่แน่ใจว่าสามารถใช้งานได้อย่างอิสระ แต่มีแพ็คเกจ R ) ทีนี้คุณจะแนะนำวิธีแก้ปัญหาแบบกราฟิกอะไร?
chl

คำตอบ:


11

สิ่งที่คุณสามารถทำได้คือใช้แนวคิดการแรเงาที่เหลือจาก vcd ที่นี่ร่วมกับการสร้างภาพเมทริกซ์ที่กระจัดกระจายเป็นตัวอย่างในหน้า 49 ของบทหนังสือเล่มนี้ ลองนึกภาพพล็อตหลังที่มีเงาที่หลงเหลืออยู่และคุณจะได้รับความคิด

ตารางเมทริกซ์กระจัดกระจาย / contigency โดยปกติจะมีจำนวนของการเกิดขึ้นของยาแต่ละชนิดที่มีผลข้างเคียง ด้วยแนวคิดการแรเงาที่เหลือ แต่คุณสามารถตั้งค่าโมเดลเชิงเส้นของบันทึกข้อมูลพื้นฐาน (เช่นแบบอิสระหรืออะไรก็ได้ที่คุณต้องการ) และใช้ชุดสีเพื่อค้นหาว่าชุดยา / เอฟเฟกต์ใดเกิดขึ้นบ่อย / น้อยกว่าแบบจำลอง . เนื่องจากคุณมีข้อสังเกตมากมายคุณสามารถใช้การกำหนดค่าสีใหม่ ๆ และรับแผนที่ที่มีลักษณะคล้ายกับวิธีการวิเคราะห์ microarrays ในการวิเคราะห์กลุ่มเช่นที่นี่(แต่อาจมี "การไล่ระดับสี" ที่เข้มกว่า) หรือคุณสามารถสร้างขีด จำกัด ดังกล่าวได้ก็ต่อเมื่อความแตกต่างของการสังเกตต่อการคาดการณ์นั้นเกินขีด จำกัด ที่ได้รับจากสีและส่วนที่เหลือจะยังคงเป็นสีขาว คุณจะทำสิ่งนี้ได้อย่างไร (เช่นรูปแบบที่จะใช้หรือเกณฑ์ใด) ขึ้นอยู่กับคำถามของคุณ

แก้ไข ดังนั้นนี่คือวิธีที่ฉันจะทำ (เนื่องจากฉันมี RAM เพียงพอ ... )

  1. สร้างเมทริกซ์กระจัดกระจายของขนาดที่ต้องการ (ชื่อยา x ผลกระทบ)
  2. คำนวณส่วนที่เหลือจากรูปแบบบันทึกอิสระ
  3. ใช้การไล่ระดับสีในความละเอียดที่ละเอียดจากขั้นต่ำถึงสูงสุดของที่เหลือ (เช่นกับ colorspace hsv)
  4. แทรกค่าสีตามขนาดของสารตกค้างที่ตำแหน่งตามในเมทริกซ์เบาบาง
  5. พล็อตเมทริกซ์ด้วยพล็อตรูปภาพ

จากนั้นคุณก็จบลงด้วยบางสิ่งเช่นนี้ (แน่นอนว่ารูปภาพของคุณจะใหญ่กว่าและจะมีขนาดพิกเซลที่ต่ำกว่ามาก แต่คุณควรจะได้ความคิดด้วยการใช้สีอย่างชาญฉลาด สนใจใน).

ตัวอย่างที่รวดเร็วและสกปรกด้วยเมทริกซ์ 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 ยูทิลิตี้สำหรับข้อมูลประเภทนี้และปัญหา (ไม่เพียง แต่การสร้างภาพข้อมูล แต่ยังเพื่อหารูปแบบ) ที่นั่นคุณจะพบมาตรการการเชื่อมโยงระหว่างระดับที่คุณสามารถใช้แทนการแรเงาที่เหลือ

คุณอาจต้องการดูตารางของคุณต้องการตรวจสอบผลข้างเคียงเพียงไม่กี่อย่างในภายหลัง


1
เห็นได้ชัดว่าในปัจจุบันนี้เรียกว่า "quilt plot" plosone.org/article/info:doi/10.1371/journal.pone.0085047
Momo

ฉันเคยเห็นแผนที่ความร้อนเช่นนี้กับแถวและคอลัมน์กลุ่มเช่นการจัดกลุ่มตามลำดับชั้น แม้ว่า 33556 x 9516 ดูเหมือนจะเป็นวิธีที่จะเห็นภาพได้มาก
R Greg Stacey
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.