2017-03-27 2 views
0

Let geben DT dies seine Datentabelle:Ersetzen Sie einen Wert in einer Datentabelle von dem Spaltenindex

DT[2, `:=`(B=99)] 

Aber ich:

DT <- data.table(A=1:2, B=3:4) 

wir die Zelle in Zeile 2 der Spalte B wie diese ersetzen können möchte ersetzen, indem Sie den Index der Spalte geben, nicht seinen Namen. Wie?

+0

@MrFlick Ja, genau! (Dies ist die erwartete Antwort). Vielen Dank ! –

+0

So wie wir es mit Datenrahmen tun? 'DT [2, 2] <- 99' – zx8754

+5

Normalerweise ist es eine schlechte Idee in der Programmierung, Spaltenindizes zu verwenden, da Sie nicht wirklich wissen, was da ist und Sie erhalten keinen Fehler, wenn Sie die falsche Spalte ändern. –

Antwort

3

Sie können einen numerischen Index als ersten Parameter an := übergeben. Zum Beispiel

DT[2, `:=`(2, 99)] 
1

können Sie verwenden, was kommentiert @MrFlick oder verwenden Sie einfach diese: DT[2,2] <- 99

Ich weiß nicht, was für die Verwendung dieser Schreibweise Ihrer Präferenz ist.

+1

Danke, ich dachte, das funktioniert nicht mit einer Datentabelle ... –

Verwandte Themen