Ich möchte habe ich sah in diesen Fragen bisher zufällig NA
zu einem data.frame in R. hinzuzufügen:genaue Anteil der zufälligen fehlenden Werte in den data.frame
R: Randomly insert NAs into dataframe proportionaly
How do I add random NA
s into a data frame
add random missing values to a complete data frame (in R)
Viele Lösungen wurden hier zur Verfügung gestellt, aber ich konnte nicht finden, die mit diesen 5 Bedingungen erfüllen:
- hinzufügen wirklich zufällig NA und nicht die gleiche Menge von Zeile oder Spalte durch
- Arbeit mit jeder Klasse von Variablen, die man in einem data.frame (nummerisch, Zeichen, Faktor, logisch, ts ..) begegnen kann Daher muss die Ausgabe das gleiche Format haben wie die Eingabedaten.Frame oder Matrix.
- Garantie eine genaue Zahl oder Anteil [Anmerkung] von NA in der Ausgabe (viele Lösungen, da mehrere in einer kleineren Anzahl von NA ergeben, wird am gleichen Ort erzeugt)
- Ist computationnaly effizient für große Datensätze.
- Fügen Sie das Verhältnis/die Anzahl der NA unabhängig von der bereits vorhandenen NA im Eingang hinzu.
Wer hat eine Idee? Ich habe bereits versucht, eine Funktion zu schreiben, dies zu tun (in einer Antwort der ersten Verbindung), aber es steht nicht im Einklang mit den Punkten N ° 3 & 4. Dank.
[Anmerkung] Der genaue Anteil, gerundet auf +/- 1NA natürlich.
Können Sie das näher erläutern, wie [diese Antwort] (http://stackoverflow.com/a/27454361 erhöhen würde/3627607) ist dir nicht genug? (Und zumindest, den Anteil von NA zu überprüfen und einen weiteren Durchlauf mit dem fehlenden Prozentsatz zu wiederholen, sollte auch tun) – Tensibai
@Tensibai ja danke das ist was ich meine, ich möchte direkt den richtigen Anteil/Anzahl von NA ausgeben. Wenn Sie Ihren Vorschlag ändern können, um dies zu tun, würde ich froh sein, – agenis
Ich kann nicht, es ist eine vorhandene Antwort, ich sehe nicht, wie man mehr darauf erarbeiten.Ich brauche nicht genau ein Prozent zu haben (was an sich schon ein Unsinn ist). Die Proposition von NA zu erhalten ist einfach ('sum (is.na (df)/(now (df) * ncol (df)))' und checking, wenn es in einem akzeptablen Bereich ist, wenn nicht, addiere die NA erneut. – Tensibai