10
bir koleksiyonun endeks değerlerini yineleme geldiğinde aşağıdaki kod yaygın SO görülür
for (i in 1:length(x)) {
# ...
}
koleksiyon boşken 1:length(x)
i
verir 1:0
olur çünkü kod yaramazlık 1
ve 0
değerleri.
iterate <- function(x) {
for (i in 1:length(x)) {
cat('x[[', i, ']] is', x[[i]], '\n')
}
}
> iterate(c(1,2,3))
x[[ 1 ]] is 1
x[[ 2 ]] is 2
x[[ 3 ]] is 3
> iterate(c())
x[[ 1 ]] is
x[[ 0 ]] is
Ben x
boş ama bunu hatırlayamıyorum zaman herhangi bir öğe bir diziyi tanımlamak için zarif bir deyim gördüğümü hatırlamıyorum. Hangi deyimi kullanıyorsun? ilgi nesnesi boş olduğunda
Mükemmel, 'seq_along' gördüm gördüğüm deyim oldu. – Sim
Ancak indeks değişkenine ihtiyacınız yoksa ve sadece bir şeyin öğeleri üzerinde döngü yapmak istiyorsanız, bir pepe/sapply/vapply veya plyr paketinden bir şey daha zarif olabilir. – Spacedman
@Spacedman Çok doğru ve kesinlikle OP'in aklında tutması gereken bir şey. – Dason