ผู้แต่งและผู้ดูแล: Huang Lin: [email protected]
ANCOMBC เป็นแพ็คเกจที่มีความอุดมสมบูรณ์ (DA) และการวิเคราะห์สหสัมพันธ์สำหรับข้อมูล microbiome โดยเฉพาะแพ็คเกจรวมถึงการวิเคราะห์องค์ประกอบของ microbiomes ด้วยการแก้ไขอคติ 2 (ANCOM-BC2) การวิเคราะห์องค์ประกอบของ microbiomes ด้วยการแก้ไขอคติ (ANCOM-BC) และการวิเคราะห์องค์ประกอบของ microbiomes (ANCOM) สำหรับการวิเคราะห์ DA ของความสัมพันธ์ระหว่าง microbiomes (SECOM) สำหรับการวิเคราะห์สหสัมพันธ์ โดยทั่วไปแล้วข้อมูล Microbiome จะอยู่ภายใต้แหล่งที่มาของอคติสองแหล่ง: เศษส่วนการสุ่มตัวอย่างที่ไม่เท่ากัน (อคติเฉพาะตัวอย่าง) และประสิทธิภาพการเรียงลำดับที่แตกต่างกัน (อคติเฉพาะ Taxon) วิธีการที่รวมอยู่ในแพ็คเกจ ANCOMBC ได้รับการออกแบบมาเพื่อแก้ไขอคติเหล่านี้และสร้างตัวประมาณค่าที่สอดคล้องกันทางสถิติ
if ( ! requireNamespace( " BiocManager " , quietly = TRUE ))
install.packages( " BiocManager " )
BiocManager :: install( " ANCOMBC " )
library( ANCOMBC )
? ancombc2
? ancombc
? ancom
? secom_linear
? secom_dist
1. เราสนับสนุนการทดสอบสำหรับการโต้ตอบตอนนี้!
ancom
, ancombc
และ ancombc2
เวอร์ชันใหม่สนับสนุนการรวมเงื่อนไขการโต้ตอบในการวิเคราะห์ ตรวจสอบบทความล่าสุดสำหรับคำแนะนำโดยละเอียด
2. การวิเคราะห์ความไวเป็นสิ่งจำเป็น!
สำหรับผู้ใช้: เว้นแต่จุดสนใจหลักของการศึกษาของคุณคือพลังเราขอแนะนำให้เปิดการวิเคราะห์ความไว (การตั้งค่าเริ่มต้น) เนื่องจากจะช่วยลดผลบวกที่ผิดพลาดอย่างมีนัยสำคัญ
สำหรับนักวิจัย: เราได้บันทึกเอกสารล่าสุดที่วิจารณ์ ANCOM-BC2 เพื่อไม่ให้ควบคุมข้อดีเท็จได้อย่างเพียงพอ อย่างไรก็ตามการวิพากษ์วิจารณ์เหล่านี้ไม่สามารถอธิบายคุณสมบัติการวิเคราะห์ความไวของเราได้ การเปรียบเทียบ ANCOM-BC2 โดยไม่ต้องใช้คุณสมบัติที่ฝังอยู่เช่นการวิเคราะห์ความไวไม่ใช่การประเมินที่ยุติธรรม เราเน้นจุดนี้ในการอัปเดตล่าสุดของเรา
1. Q: อะไรคือความแตกต่างระหว่าง formula
และข้อโต้แย้ง group
ใน ancombc
และ ancombc2
?
ตอบ: formula
และข้อโต้แย้ง group
มีวัตถุประสงค์ที่แตกต่างกันในฟังก์ชัน ancombc
และ ancombc2
นี่คือความแตกต่างของพวกเขา:
formula
: อาร์กิวเมนต์นี้ใช้เพื่อระบุตัวแปรในการทดลองของคุณซึ่งอาจมีอิทธิพลต่อความอุดมสมบูรณ์ของจุลินทรีย์ มันเป็นสิ่งสำคัญที่จะรวมตัวแปรที่เกี่ยวข้องทั้งหมดใน formula
เพื่อให้แน่ใจว่าการปรับที่เหมาะสมและผลลัพธ์ที่ถูกต้อง ตัวอย่างเช่นหากคุณมีตัวแปรต่อเนื่องเช่น age
เป็นตัวแปรหลักที่น่าสนใจและคุณมีตัวแปรหมวดหมู่เพิ่มเติมที่ต้องการการปรับเปลี่ยน แต่ไม่เกี่ยวข้องโดยตรงกับคำถามการวิจัยของคุณคุณสามารถรวมไว้ใน formula
ในขณะที่ออกจาก group
เป็นโมฆะ
group
: อาร์กิวเมนต์ group
เป็นทางเลือกและควรระบุไว้เฉพาะในกรณีที่คุณต้องการตรวจจับศูนย์โครงสร้าง (การทดสอบการมีอยู่/ขาด) หรือทำการเปรียบเทียบหลายกลุ่มเช่นการทดสอบทั่วโลกการทดสอบทิศทางแบบคู่การทดสอบประเภทของ Dunnett หรือการทดสอบแนวโน้ม . หากตัวแปรที่น่าสนใจของคุณเป็นตัวแปรหมวดหมู่ที่มีมากกว่าสามระดับและคุณต้องการทำการเปรียบเทียบหลายกลุ่มคุณควรรวมอาร์กิวเมนต์ group
เป็นสิ่งสำคัญที่จะต้องทราบว่า group
ไม่เหมือนกับ main_var
ใน ancom
ใน ancombc
และ ancombc2
group
ใช้สำหรับการเปรียบเทียบหลายกลุ่มและการแก้ไขค่า P สำหรับการเปรียบเทียบหลายครั้ง
โปรดจำไว้ว่าไม่รวม main_var
ใน adj_formula
ใน ancom
แต่จะรวม group
ใน formula
หรือ fix_formula
(ใน ancombc
และ ancombc2
ตามลำดับ) หาก group
ไม่ได้เป็นโมฆะ สิ่งนี้ทำให้มั่นใจได้ว่าการปรับและการเปรียบเทียบที่เหมาะสมนั้นเกิดขึ้นในการวิเคราะห์
2. Q: ทำไมแท็กซ่าบางส่วนถึงขาดจากผลลัพธ์หลัก?
ตอบ: มีเหตุผลสองประการที่ทำให้แท็กซ่าบางตัวขาดไปจากผลลัพธ์หลักใน ancombc
หรือ ancombc2
นี่คือคำอธิบาย:
การยกเว้นความชุก: แท็กซ่าที่มีความชุกต่ำกว่าเกณฑ์ที่ระบุ ( prv_cut
) จะถูกแยกออกจากการวิเคราะห์ ค่า prv_cut
กำหนดความชุกขั้นต่ำที่จำเป็นสำหรับแท็กซอนที่จะพิจารณาในการวิเคราะห์ หากความชุกของแท็กซอนอยู่ต่ำกว่าเกณฑ์นี้จะไม่รวมอยู่ในผลลัพธ์หลัก
ศูนย์โครงสร้าง: แท็กซ่าที่แสดงศูนย์โครงสร้างซึ่งหมายความว่าพวกเขามีจำนวนศูนย์อย่างสม่ำเสมอในทุกตัวอย่างจะได้รับการพิจารณาอย่างมีนัยสำคัญโดยการทดสอบการปรากฏตัว/ขาด วิธีการ ANCOM-BC และ ANCOM-BC2 ไม่ได้ออกแบบมาเพื่อตรวจจับความแตกต่างอย่างมีนัยสำคัญในแท็กซ่าที่มีศูนย์โครงสร้าง เป็นผลให้แท็กซ่าเหล่านี้สรุปแยกต่างหากและไม่รวมอยู่ในผลลัพธ์หลักของ ancombc
หรือ ancombc2
ในการเข้าถึงผลลัพธ์ของการทดสอบการมีอยู่/ขาดคุณสามารถอ้างถึงเอาต์พุต zero_ind
สิ่งนี้จะให้ข้อมูลเกี่ยวกับแท็กซ่าที่แสดงศูนย์โครงสร้าง
3. Q: ในผลลัพธ์หลัก lfc_(Intercept)
, lfc_groupB
และ lfc_groupC
เป็นตัวแทนของอะไรถ้าฉันมีตัวแปร group
ที่มีหมวดหมู่ A
, B
และ C
?
ตอบ: ในผลลัพธ์หลักคำศัพท์ lfc_groupB
และ lfc_groupC
แสดงถึงการเปลี่ยนแปลงการพับบันทึก (LOGFC) เทียบกับกลุ่มอ้างอิงซึ่งเป็นกลุ่ม A
โดยค่าเริ่มต้น ค่า logfc เหล่านี้บ่งบอกถึงความแตกต่างในความอุดมสมบูรณ์ระหว่างกลุ่ม B
และกลุ่ม A
และระหว่างกลุ่ม C
และกลุ่ม A
ตามลำดับ
ในทางกลับกัน lfc_(Intercept)
หมายถึงการเปลี่ยนแปลงการพับบันทึกของค่าเฉลี่ยที่ยิ่งใหญ่ซึ่งอาจไม่ใช่พารามิเตอร์ที่น่าสนใจเป็นพิเศษในบริบทนี้
เป็นมูลค่าการกล่าวขวัญว่าหากคุณต้องการเปลี่ยนกลุ่มอ้างอิงคุณสามารถใช้ฟังก์ชั่น factor
ใน R เพื่อจัดเรียงระดับของตัวแปร group
ใหม่ตามลำดับ
4. Q: ฉันพบข้อความแสดงข้อผิดพลาดที่ระบุว่า "'อันดับ' ต้องเป็นค่าจาก 'Taxonomyranks ()' มันหมายความว่าอย่างไรและฉันจะแก้ไขได้อย่างไร
ตอบ: ข้อความแสดงข้อผิดพลาด "'อันดับ' จะต้องเป็นค่าจาก 'TaxonomyRanks ()' 'โดยทั่วไปจะเกิดขึ้นเมื่อชื่ออันดับใน tax_table
ของคุณไม่ได้ติดป้ายอย่างเหมาะสม เพื่อแก้ไขปัญหานี้ขอแนะนำให้ใช้ฟังก์ชัน taxonomyRanks(se)
โดยที่ se
คือวัตถุ tse
ของคุณ
ประการแรกตรวจสอบให้แน่ใจว่าชื่ออันดับใน tax_table
ของคุณได้รับการตั้งชื่ออย่างถูกต้องว่าเป็นหนึ่งในอันดับอนุกรมวิธานมาตรฐานเช่น "อาณาจักร", "ไฟลัม", "คลาส", "คำสั่ง", "ครอบครัว", "สกุล" หรือ "สปีชีส์" ". หากชื่ออันดับถูกระบุว่าเป็นอย่างอื่นเช่น "TA1", "TA2", "TA3" และอื่น ๆ คุณจะต้องอัปเดตตามนั้น
ปัญหานี้มักเกิดขึ้นเมื่อ tax_table
เกิดขึ้นจาก data.frame
แทน matrix
ดังนั้นจึงเป็นเรื่องสำคัญที่จะต้องตรวจสอบให้แน่ใจว่าชื่ออันดับได้รับการกำหนดอย่างถูกต้องก่อนดำเนินการวิเคราะห์
เมื่อคุณอัปเดตชื่ออันดับใน tax_table
ของคุณแล้วคุณสามารถใช้ฟังก์ชัน ancombc2
โดยระบุระดับอนุกรมวิธานที่ต้องการโดยใช้อาร์กิวเมนต์ tax_level
(เช่น "สกุล") สิ่งนี้จะช่วยให้คุณสามารถทำการวิเคราะห์ทางสถิติเกี่ยวกับข้อมูล microbiome ของคุณในระดับอนุกรมวิธานที่ระบุ
5. Q: ฉันพบปัญหาขณะใช้ rand_formula
ใน ancombc2
ไวยากรณ์ที่ถูกต้องสำหรับการระบุเอฟเฟกต์แบบสุ่มคืออะไร?
ตอบ: เมื่อระบุเอฟเฟกต์แบบสุ่มโดยใช้ rand_formula
ใน ancombc2
มันเป็นสิ่งสำคัญที่จะทำตามอนุสัญญาไวยากรณ์ที่ใช้ในแพ็คเกจ lmerTest
ให้ความสนใจอย่างใกล้ชิดกับตำแหน่งของ วงเล็บ และ แถบแนวตั้ง
ในการระบุเอฟเฟกต์เรื่องแบบสุ่มอย่างถูกต้องไวยากรณ์ควรอยู่ในรูปแบบของ "(1|subjid)"
โดยที่ subjid
แสดงชื่อตัวแปรสำหรับตัวระบุหัวเรื่อง ไวยากรณ์นี้ช่วยให้มั่นใจได้ว่าเอฟเฟกต์เรื่องแบบสุ่มจะถูกนำมาพิจารณาอย่างเหมาะสมในการวิเคราะห์
ในทางกลับกันมันไม่ถูกต้องที่จะใช้ rand_formula
เป็น "1|subjid"
หรือ "(subjid)"
เพื่อระบุเอฟเฟกต์แบบสุ่ม ไวยากรณ์ที่ถูกต้องควรมีวงเล็บรอบเอฟเฟกต์แบบสุ่มและแถบแนวตั้งเพื่อแยกออกจากเอฟเฟกต์คงที่
ด้วยการใช้ไวยากรณ์ที่ถูกต้องเพื่อระบุเอฟเฟกต์แบบสุ่มคุณจะสามารถรวมเอฟเฟกต์เหล่านี้เข้ากับการวิเคราะห์ ancombc2
ของคุณได้อย่างถูกต้อง
6. Q: อะไรคือความแตกต่างระหว่างผลลัพธ์หลักและผลลัพธ์ของการทดสอบประเภทของ Dunnett ใน ANCOM-BC2
ตอบ: ผลลัพธ์หลักและผลลัพธ์ของการทดสอบประเภทของ Dunnett ใน ANCOM-BC2 ให้ข้อมูลเกี่ยวกับแท็กซ่าที่มีความแตกต่างกัน แต่มีความแตกต่างในการแก้ไขค่า p
ในผลลัพธ์หลักค่า p ได้รับการแก้ไขในแท็กซ่าซึ่งหมายความว่าพวกเขามีการเปรียบเทียบหลายครั้งระหว่างแท็กซ่าที่แตกต่างกัน การแก้ไขนี้ช่วยควบคุมอัตราบวกที่ผิดพลาดเมื่อพิจารณาความสำคัญของแท็กซ่าแต่ละตัว
ในทางกลับกันประเภทของการทดสอบของ Dunnett ไม่เพียง แต่แก้ไขค่า p ข้ามแท็กซ่าเท่านั้น แต่ยังแก้ไขการเปรียบเทียบหลายครั้งระหว่างกลุ่ม โดยเฉพาะมันเปรียบเทียบความอุดมสมบูรณ์ของแต่ละแท็กซอนในกลุ่ม B
และ C
กับกลุ่มอ้างอิง A
การแก้ไขสำหรับการเปรียบเทียบหลายครั้งในประเภทการทดสอบของ Dunnett ส่งผลให้เกิดผลลัพธ์ที่อนุรักษ์นิยมมากขึ้นลดโอกาสในการเป็นบวกที่ผิดพลาด
ดังนั้นในขณะที่ทั้งผลลัพธ์หลักและประเภทของการทดสอบของ Dunnett ให้ข้อมูลเกี่ยวกับแท็กซ่าที่มีความแตกต่างกันอย่างมากผลการทดสอบประเภทของ Dunnett เสนอการควบคุมเพิ่มเติมสำหรับการเปรียบเทียบหลายครั้งทำให้พวกเขาอนุรักษ์นิยมและเชื่อถือได้มากขึ้น
7. Q: ฟังก์ชั่น ancombc
หรือ ancombc2
สามารถจัดการกับข้อกำหนดการโต้ตอบในการวิเคราะห์ได้หรือไม่?
ตอบ: ใช่แล้ว ancom
, ancombc
และ ancombc2
เวอร์ชันใหม่สนับสนุนการรวมข้อกำหนดการโต้ตอบในการวิเคราะห์
8. Q: วิธีการ ANCOM-BC สามารถนำไปใช้กับประเภทข้อมูลอื่น ๆ เช่นความอุดมสมบูรณ์ของการทำงาน, RNA-seq หรือข้อมูล RNA เซลล์เดียวได้หรือไม่?
ตอบ: วิธีการ ANCOM-BC สามารถนำไปใช้กับประเภทข้อมูลอื่น ๆ ตราบใดที่พวกเขาถือว่าเป็นองค์ประกอบ อย่างไรก็ตามมันเป็นสิ่งสำคัญที่จะต้องทราบว่าวิธีการดังกล่าวได้รับการเปรียบเทียบและตรวจสอบความถูกต้องเป็นหลักโดยใช้ข้อมูล microbiome สำหรับการอภิปรายเพิ่มเติมคุณสามารถอ้างถึงโพสต์นี้
9. Q: "ไม่ใช่เมทริกซ์ที่ชัดเจนในเชิงบวก" หมายถึงอะไรในการปรับรูปแบบเอฟเฟกต์ผสม ancombc2
? ฉันจะแก้ไขปัญหานี้ได้อย่างไร
ตอบ: ข้อความแสดงข้อผิดพลาด "ไม่ใช่เมทริกซ์ที่ชัดเจนเชิงบวก" บ่งชี้ว่าเมทริกซ์สหสัมพันธ์ที่ใช้ในโมเดลเอฟเฟกต์แบบผสมนั้นไม่ชัดเจน เมทริกซ์ที่ชัดเจนในเชิงบวกคือเมทริกซ์สี่เหลี่ยมจัตุรัสที่ค่าลักษณะเฉพาะทั้งหมดเป็นค่าบวก โดยทั่วไปข้อผิดพลาดนี้จะเกิดขึ้นเมื่อมีปัญหากับข้อมูลจำเพาะข้อมูลหรือโมเดล
ในการดีบักปัญหานี้ฉันขอแนะนำให้ปรับรูปแบบเอฟเฟกต์แบบผสมกับข้อมูล ดิบ ของคุณโดยใช้แพ็คเกจ lmerTest
ใน R. ใช้เอฟเฟกต์คงที่และข้อกำหนดเอฟเฟกต์แบบสุ่มที่คุณใช้ในฟังก์ชั่น ancombc2
ด้วยการปรับโมเดลโดยตรงคุณอาจได้รับข้อความแสดงข้อผิดพลาดที่ให้ข้อมูลมากขึ้นซึ่งสามารถช่วยวินิจฉัยปัญหาได้
นี่คือขั้นตอนที่คุณสามารถติดตามเพื่อแก้ไขปัญหา:
lmerTest
ใน R: install.packages("lmerTest")
และ library(lmerTest)
ancombc2
lmer()
จากแพ็คเกจ lmerTest
โดยทำตามขั้นตอนเหล่านี้คุณสามารถเข้าใจปัญหาได้ดีขึ้นทำให้เกิดข้อผิดพลาด "ไม่ใช่เมทริกซ์ที่ชัดเจนในเชิงบวก" และดำเนินการที่เหมาะสมเพื่อแก้ไขปัญหา
หากคุณยังคงประสบปัญหาหรือต้องการความช่วยเหลือเพิ่มเติมอาจเป็นประโยชน์ในการขอคำแนะนำจากนักสถิติหรือผู้เชี่ยวชาญในสาขาการวิจัยเฉพาะของคุณ
10. Q: หากค่า LFC ที่สูงขึ้นสอดคล้องกับความอุดมสมบูรณ์ที่มากขึ้นทำไมการนับ OTU/ASV ของฉันบางส่วนจึงแสดงทิศทางตรงกันข้าม?
ตอบ: เป็นสิ่งสำคัญที่จะต้องทราบว่าค่า log-fold Change (LFC) ในบริบทของ ANCOM-BC หรือ ANCOM-BC2 ไม่ได้สะท้อนถึงความอุดมสมบูรณ์สัมพัทธ์โดยตรง (เช่นสัดส่วน) หรือความอุดมสมบูรณ์ที่สังเกตได้ (เช่น OTU หรือ ASV นับ) . ค่า LFC แสดงถึงความแตกต่างในความอุดมสมบูรณ์ที่แก้ไขอคติระหว่างกลุ่ม
ใน ANCOM-BC หรือ ANCOM-BC2 ค่า LFC ที่สูงขึ้นแสดงถึงความแตกต่างที่มากขึ้นในความอุดมสมบูรณ์ที่แก้ไขอคติระหว่างกลุ่ม อย่างไรก็ตามนี่ไม่ได้หมายความว่ากลุ่มที่มี LFC สูงกว่ามีความอุดมสมบูรณ์สัมพัทธ์สูงกว่าหรือจำนวนที่สังเกตได้มากขึ้นสำหรับ OTU หรือ ASV ที่เฉพาะเจาะจง
11. ถาม: คุณช่วยยกตัวอย่างที่ซับซ้อนให้ฉันได้มากขึ้นในการทดสอบเทรนด์ ANCOM-BC2 ได้หรือไม่?
ตอบ: ตัวอย่างเช่นเมื่อใช้การทดสอบเทรนด์กับตัวแปร group
ของ 5 หมวดหมู่ที่สั่งซื้อ ( A, B, C, D, E
) ใน R เรากำลังประเมินความแตกต่าง 4 ประการซึ่งเป็น ( BA, CA, DA, EA
) . การทดสอบแนวโน้มของ A < B < C < D < E
นั้นเทียบเท่ากับการทดสอบ 0 < B - A < C - A < D - A < E - A
ดังนั้นเราสามารถระบุเมทริกซ์คอนทราสต์ดังนี้:
# B-A C-A D-A E-A
1 0 0 0
- 1 1 0 0
0 - 1 1 0
0 0 - 1 1
ใน R ควรเป็น
matrix (c( 1 , 0 , 0 , 0 ,
- 1 , 1 , 0 , 0 ,
0 , - 1 , 1 , 0 ,
0 , 0 , - 1 , 1 ),
nrow = 4 ,
byrow = TRUE )
สำหรับการอภิปรายเชิงลึกเพิ่มเติมคุณสามารถอ้างถึงโพสต์นี้
12. Q: OMG ฉันยังคงสับสนมากที่ศูนย์โครงสร้าง พวกเขาคืออะไร? อาร์กิวเมนต์ struc_zero
และ neg_lb
ทำอะไร?
ตอบ: แท็กซอนได้รับการพิจารณาว่ามีศูนย์โครงสร้างในกลุ่ม (> = 1) บางกลุ่มหากมันขาดหายไปอย่างสมบูรณ์หรือเกือบทั้งหมดในกลุ่มเหล่านั้น ตัวอย่างเช่นหากมีสามกลุ่มคือ G1, G2 และ G3 และจำนวนของ Taxon A เป็น 0 ใน G1 แต่ไม่ใช่ศูนย์ใน G2 และ G3 Taxon A จะได้รับการพิจารณาว่ามีศูนย์โครงสร้างใน G1 ในสถานการณ์นี้ Taxon A ได้รับการประกาศว่ามีความแตกต่างกันอย่างมากระหว่าง G1 และ G2, G1 และ G3 และดังนั้นจึงมีความแตกต่างกันอย่างมากทั่วโลกเมื่อเทียบกับตัวแปรกลุ่ม แท็กซ่าดังกล่าวไม่ได้วิเคราะห์เพิ่มเติมโดยใช้ ANCOM-BC หรือ ANCOM-BC2 แต่ผลลัพธ์จะถูกสรุปไว้ใน zero_ind
คุณสามารถรักษาการตรวจหาศูนย์โครงสร้างเป็นการทดสอบการมีอยู่/ขาด
การตรวจจับศูนย์โครงสร้างนั้นขึ้นอยู่กับกระดาษแยกต่างหาก ANCOM-II โดยเฉพาะการตั้งค่า neg_lb = TRUE
ระบุว่าทั้งสองเกณฑ์ที่ระบุไว้ในส่วน 3.2 ของ ANCOM-II ใช้ในการตรวจจับศูนย์โครงสร้าง อีกทางเลือกหนึ่งการตั้งค่า neg_lb = FALSE
จะใช้สมการที่ 1 ในส่วนที่ 3.2 ของ ANCOM-II เพื่อประกาศศูนย์โครงสร้างทำให้เป็นวิธีการอนุรักษ์นิยมมากขึ้น เนื่องจากตาราง OTU/ASV มักจะกระจัดกระจายมากขอแนะนำให้เลือก neg_lb = FALSE
เพื่อป้องกันการค้นพบที่ผิดพลาด อย่างไรก็ตามหากคุณมีตารางที่หนาแน่นมากขึ้นเช่นตารางระดับครอบครัวที่มีขนาดตัวอย่างที่มีขนาดใหญ่เพียงพอโดยใช้ neg_lb = TRUE
อาจเป็นความคิดที่ดีกว่า เป็นสิ่งสำคัญที่จะต้องทราบว่า neg_lb
ไม่มีฟังก์ชั่นถ้า struc_zero
ถูกตั้งค่าเป็น FALSE
ดังนั้นจึงมีสามชุดที่เป็นไปได้: struc_zero = FALSE
(โดยไม่คำนึงถึง neg_lb
), struc_zero = TRUE, neg_lb = FALSE
, หรือ struc_zero = TRUE, neg_lb = TRUE