R Fehler in '[-.data.frame' ... Ersatz hat # Elemente, brauche #

8

Ich bin neu bei R und dieser ist jenseits von mir. Das folgende Skript verwendet zwei Dummy-Tabellen (Ergebnis und Anzahl) mit jeweils zwei Spalten (A und B). Ich führe Permutations-Tests durch, um die Ergebnisse von A und B zu vergleichen. Genauer, ich schaue auf result / count für A und B. Sowohl result als auch count haben 20 Zeilen und ich habe eine Schleife geschrieben, um einen Permutationstest durchzuführen die ersten 10 Reihen von jedem, dann die ersten 11, dann 12, bis 20. Wenn es funktioniert, was es gelegentlich tut, bekomme ich am Ende eine hübsche Grafik.

%Vor%

Das Problem ist, dass manchmal kein Problem auftritt, aber meistens bekomme ich Error in '[<-.data.frame'('*tmp*', i, , value = numeric(0)) : replacement has 0 items, need 24 . Mit options(error=traceback) bekomme ich hier die Ausgabe, die ich nicht verstehe:

%Vor%

Besonders rätselhaft ist, dass es manchmal funktioniert! Wie ist das möglich? Ich habe auch festgestellt, dass es, wenn ich print(n) und print(i) ablehne, es häufiger arbeiten lässt, obwohl es fehlschlagen kann, wenn sie nicht kommentiert werden und funktionieren, wenn sie es sind. Vielen Dank im Voraus für die Hilfe!

    
Mark Cramer 19.02.2015, 18:32
quelle

1 Antwort

12

Dieser Fehler tritt auf, wenn Sie Pech haben und i <- runif(n) < 1/2 besteht nur aus FALSE , d. h. es finden keine Permutationen statt. Sie müssen eine Überprüfung in der Funktion swap hinzufügen, um dieses Problem zu beheben.

    
Marat Talipov 19.02.2015, 18:55
quelle

Tags und Links