2015-06-29 22 views
19

R hata ayıklama modu bazen aşağıdaki hatayı dışarı atar:R: fBody [[i]] hata: düzeyinde böyle bir endeks 4

 Error in fBody[[i]] : no such index at level 4 

Sebebi ne? Ve nasıl önlenir?

+0

Bence uygun bir tavsiye vermek yeterli bilgiye sahip emin değilim. Ne tür bir hata ayıklayıcı kullanıyorsunuz? RStudio hata ayıklama modu belki? Tarayıcı(), debugonce() yöntemini mi çağırıyorsunuz, bir çökme veya başka bir yöntemden sonra izleri kurtarıyor musunuz? Tekrarlanabilir bir örnek uzun bir yol giderdi. –

+0

RStudio debugSource() kullanıyorum. Maalesef şu anda bir örnek inşa etmem benim için zor olurdu, daha sonra bir tane yapmaya çalışacağım. – Massyanya

+0

Örneğe ihtiyacınız yok. Bu RStudio'da çok yaygın bir sorundur. – SmallChess

cevap

21

Bu, RStudio'da bir hatadır. R kodumu yazarken sık sık alıyorum. Bu hep yapmak bütün ve bir iştir:

  1. yeniden başlatılması RStudio
  2. Temizle tüm kırılma noktalarını
  3. Kes tüm kaynak kodu, hata ayıklamak istediğiniz dosya (bunun için bir menü vardır). Boş dosyayı kaydedin.
  4. Kaynak kodunu yapıştırın. Onu kurtar.

Hata, kesme noktalarının konumuyla ilgili bir şey var. Bazı nedenlerden dolayı, RStudio yeni sınır değerlerini başka bir şeyle karıştırıyor. Kaynak kodu keserek ve yapıştırarak, RStudio'yu eski kesme noktalarını "unutmaya" ve yenilemeye zorluyoruz. RStudio'ya yeni bir dosya vermek gibi.

Şimdi bir hata ayıklama oturumu yeniden çalıştırabilirsiniz.

RStudio geliştiricileri, lütfen bu aptalca hatayı düzeltin düzeltin. kesme noktaları olmadan

+1

Sorunun sorulmasından bu yana bir yılı geçtiğini ve hatanın hala mevcut olduğunu unutmayın. –

+1

Hata hala RSTudio 1.0.136'da mevcut. Bu çözüm hala şükranla çalışıyor. Yeni sürümde –

+2

, sadece kesme noktalarını temizliyor gibi görünüyor ve yeniden tedarik yeterli –

2
  1. kaydet dosya
  2. Oturum -> Yeniden R

Genellikle benim için çalışıyor ...