Seq.int ile ilgili kısıtlamalar nelerdir?


15

seqAdam sayfa aşağıdakileri (vurgu benim) der:

Açıklama

Düzenli diziler oluşturun. seq, varsayılan yöntemi olan standart bir jeneriktir. seq.intçok daha hızlı olabilen ancak birkaç kısıtlaması olan bir ilkel .

Bununla birlikte, sayfa aslında bu kısıtlamaların ne olduğunu açıklamamaktadır. İşte diğer her söz seq.int:

Argümanlar

[...]

length.outdizinin istenen uzunluğu. Kesirliyse yuvarlanacak seqve seq.intyuvarlanacak negatif olmayan bir sayı .

[...]

ayrıntılar

[...]

Adsız argümanların yorumlanması seqve seq.intstandart değildir ve programlama sırasında her zaman argümanların adlandırılması önerilir.

[...]

seq.int" seq", ilk sağlanan bağımsız değişkenin sınıfına (bağımsız değişken eşleşmesinden önce) dayalı olarak " " yöntemlerini gönderen bir iç geneldir .

seq.int, seq_alongVe seq_lenilkel.

değer

seq.intve seqsayısal bağımsız değişkenler için varsayılan yöntem " integer" veya " double" türünde bir vektör döndürür : programcılar hangisine güvenmemelidir.

İlk argümanının sınıfına göre seq.intgönderilmesini belirtmek dışında seq, herhangi bir "kısıtlama" görmüyorum.

Peki, bu kısıtlamalar nelerdir?


İyi bir nokta, eklemek için yardım dosyasında verilen tüm örneklerin , çok daha hızlı hariç seq, aynı şekilde çalışacağını ekleyeceğim seq.int, bu yüzden neden kullanıldığının net olmadığı anlaşılıyor seq. İle ilgili olabilecek twitter.com/BrodieGaslam/status/1196792003813621761
Moody_Mudskipper

@Moody_Mudskipper tam da bu yüzden sordum: seq.intAlışkanlık dışında kullanıyordum , ancak man sayfasında bu yorumu gördüm ve şimdi düşünmeden kullanırken herhangi bir "risk" alıp almadığımı bilmek istiyorum.
Wasabi

@Moody_Mudskipper ve kayıt için, "dokümanlar asla güncellenmedi" tamamen kabul edilebilir ve şaşırtıcı bir cevap olacaktır.
Wasabi

6
"Seq (yalnızca) için, length.out veya along.with belirtilmiş olarak sağlanan karmaşık değerler olarak ikiden, ikiye kadar ve tarafından sağlanabilir. Daha genel olarak, seq varsayılan yöntemi ile sınıflandırılmış nesneleri işleyecek Matematik, Ops ve Özet grup jenerikleri için yöntemler. " Bir kısıtlamayı açıklar. Yapabilirsin seq(from = 0 + 1i, to = 10 + 1i, length.out = 11)ama aynı şeyi yapamazsın seq.int.
Roland

1
@Roland - belki de bu yorumu bir cevap olarak eklemelisin
dww

Yanıtlar:


5

seqR'de yazılmış standart bir genel işlevdir seq.int. C'de yazılmış ilkel bir işlevdir. Her ikisi de aynı işi yapmak için yazılırken, platformlarının tuhaflıkları nedeniyle bazen belirli kısıtlamalar olabilir. Aşağıdaki bir örnektir.

resim açıklamasını buraya girin

Bunun eski sürümden olduğunu Rve geçerli sürümlerde düzeltildiğini unutmayın. Bu tür hatalar R'nin gelişimi boyunca gözlenmiştir ve mümkün olan en kısa sürede yamalanmıştır. Seq ve seq.int'in mevcut sürümleri artık neredeyse aynı görünüyor. Bu nedenle, üzerinde herhangi bir kısıtlama olmamalıdır seq.int.


Cevabınız için teşekkürler, bir görüntü yerine kod (örn. bir reprex) gönderebilir ve yanıtınıza Roland'ın yorumunu ekleyebilir misiniz (bu arada kendi yanıtını göndermiyorsa). Ayrıca cevabınızı düzenleyebilir ve sizin için uygunsa kendim yapabilirim.
Moody_Mudskipper
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.