Der folgende Datensatz hat die Eigenschaften meines großen Datensatzes. Ich verwalte es in data.table, einige Spalten werden als chr geladen, obwohl sie Zahlen sind, und ich will sie in Zahlen umwandeln, und diese Spaltennamen sind bekannt
%Vor%Ich bin in der Lage, diese 2 Spalten mit dem obigen Code zu numerisch zu konvertieren, aber ich möchte stattdessen dt aktualisieren. Ich habe versucht mit: = aber es hat nicht funktioniert. Ich brauche Hilfe hier!
%Vor%Ich habe sogar den folgenden Code ausprobiert (codiert wie ein data.frame - nicht meine ideale Lösung, auch wenn es funktioniert, da ich mir in einigen Fällen Sorgen mache, dass sich die Reihenfolge ändern könnte), aber es funktioniert immer noch nicht. Kann mir jemand sagen, warum es nicht funktioniert?
%Vor%Vielen Dank im Voraus!
Während Rolands Antwort eher idiomatisch ist, können Sie auch set
innerhalb einer Schleife für etwas so Direktes wie dieses betrachten. Ein Ansatz könnte etwa so aussehen:
Auf der Hilfeseite von ?set
würde dies einen Teil des zusätzlichen Aufwands [.data.table
vermeiden, falls dies für Sie ein Problem werden sollte.
Sie müssen nicht die gesamte data.table zuweisen, wenn Sie per Referenz mit :=
zuweisen (d. h. Sie benötigen nicht dt.out2 <-
).
Sie müssen die LHS von :=
in Klammern einschließen, um sicherzustellen, dass sie ausgewertet wird (und nicht als Name verwendet wird).
So:
%Vor%Tags und Links r data.table