ข้อ จำกัด ของ seq.int คืออะไร


15

seqหน้าคนกล่าวดังต่อไปนี้ (เหมืองเน้น):

ลักษณะ

สร้างลำดับปกติ seqเป็นมาตรฐานทั่วไปที่มีวิธีการเริ่มต้น seq.intเป็นแบบดั้งเดิมซึ่งสามารถเร็วกว่ามากแต่มีข้อ จำกัดเล็กน้อย

หน้านี้ไม่ได้อธิบายถึงข้อ จำกัด เหล่านั้นอย่างแท้จริง นี่คือการกล่าวถึงอื่น ๆ ของที่seq.intนั่น:

ข้อโต้แย้ง

[ ... ]

length.outความยาวที่ต้องการของลำดับ ตัวเลขที่ไม่เป็นลบซึ่งสำหรับseqและseq.intจะถูกปัดเศษขึ้นหากเป็นเศษส่วน

[ ... ]

รายละเอียด

[ ... ]

การตีความของอาร์กิวเมนต์ที่ไม่มีชื่อของseqและseq.intไม่ได้เป็นมาตรฐานและแนะนำให้ตั้งชื่ออาร์กิวเมนต์ทุกครั้งที่ตั้งโปรแกรม

[ ... ]

seq.intเป็นตัวเลือกทั่วไปภายในซึ่งแจกจ่ายวิธีการสำหรับ " seq" โดยอ้างอิงคลาสของอาร์กิวเมนต์แรกที่ระบุ (ก่อนการจับคู่อาร์กิวเมนต์)

seq.int, seq_alongและseq_lenดั้งเดิม

ราคา

seq.intและวิธีการเริ่มต้นของseqอาร์กิวเมนต์ที่เป็นตัวเลขจะคืนค่าเวกเตอร์ประเภท " integer" หรือ " double": โปรแกรมเมอร์ไม่ควรขึ้นอยู่กับว่า

นอกเหนือจากการระบุว่าseq.intยื้อseqตามระดับของอาร์กิวเมนต์แรกของมันฉันไม่เห็น "ข้อ จำกัด " ใด ๆ

ดังนั้นข้อ จำกัด เหล่านี้คืออะไร?


จุดดีฉันจะเพิ่มว่าตัวอย่างทั้งหมดที่ให้ไว้ในไฟล์ช่วยเหลือสำหรับseqงานเดียวกันseq.intทั้งหมดยกเว้นเร็วกว่ามากดังนั้นจึงไม่ชัดเจนว่าทำไมใช้seqเลย อาจเกี่ยวข้องกับtwitter.com/BrodieGaslam/status/1196792003813621761
Moody_Mudskipper

@Moody_Mudskipper นั่นคือเหตุผลที่ฉันถาม: ฉันseq.intหมดนิสัย แต่เห็นความคิดเห็นนั้นใน man page และตอนนี้ฉันอยากจะรู้ว่าฉันได้รับ "ความเสี่ยง" ใด ๆ ในการใช้มันโดยไม่ไตร่ตรอง
วาซาบิ

@Moody_Mudskipper และสำหรับบันทึก "เอกสารไม่เคยอัปเดต" จะเป็นคำตอบที่ยอมรับได้และไม่แปลกใจเลย
วาซาบิ

6
ฉันจะพูดว่า "สำหรับ seq (เท่านั้น) มากถึงสองจากจากไปยังและโดยสามารถจัดเป็นค่าที่ซับซ้อนให้ความยาวออกหรือตามที่ระบุไว้โดยทั่วไปวิธีการเริ่มต้นของ seq จะจัดการกับวัตถุคลาส วิธีการสำหรับการคำนวณกลุ่มคณิตศาสตร์ทั่วไปและกลุ่มสรุป " อธิบายข้อ จำกัด คุณสามารถทำได้แต่คุณไม่สามารถทำเช่นเดียวกันกับseq(from = 0 + 1i, to = 10 + 1i, length.out = 11) seq.int
Roland

1
@Roland - บางทีคุณควรเพิ่มความคิดเห็นนั้นเป็นคำตอบ
dww

คำตอบ:


5

seqเป็นฟังก์ชั่นทั่วไปมาตรฐานที่เขียนในอาร์seq.intเป็นฟังก์ชั่นดั้งเดิมที่เขียนในซีในขณะที่ทั้งคู่ถูกเขียนเพื่อทำงานเดียวกันเนื่องจากองค์ประกอบของแพลตฟอร์มของพวกเขาบางครั้งพวกเขาสามารถมีข้อ จำกัด บางอย่าง ต่อไปนี้เป็นตัวอย่าง

ป้อนคำอธิบายรูปภาพที่นี่

โปรดทราบว่านี่มาจากรุ่นเก่าRและได้รับการแก้ไขในเวอร์ชันปัจจุบัน ข้อผิดพลาดประเภทนี้ได้รับการสังเกตตลอดการพัฒนาของ R และพวกมันจะถูกแก้ไขโดยเร็วที่สุด เวอร์ชันปัจจุบันของseqและseq.intตอนนี้มีลักษณะเกือบจะเหมือนกัน ดังนั้นจึงไม่ควรมีข้อ จำกัด อีกต่อseq.intไป


ขอบคุณสำหรับคำตอบของคุณคุณสามารถโพสต์รหัส (เช่น reprex) แทนภาพและรวมถึงความคิดเห็นของ Roland ในคำตอบของคุณ (ถ้าเขาไม่โพสต์คำตอบของตัวเองในขณะเดียวกัน) ฉันยังสามารถแก้ไขคำตอบของคุณและทำเองถ้ามันไม่เป็นไรสำหรับคุณ
Moody_Mudskipper
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.