Ich möchte ein data.table
mit einer Variablen der Teilmenge, die den gleichen Namen wie die Spalte, die leeds einiger Probleme hat:Subsetting data.table Variablen mit demselben Namen wie Spalte
dt <- data.table(a=sample(c('a', 'b', 'c'), 20, replace=TRUE),
b=sample(c('a', 'b', 'c'), 20, replace=TRUE),
c=sample(20), key=c('a', 'b'))
evn <- environment()
a <- 'b'
dt[a == a]
#Expected Result
dt[a == 'b']
ich über this possible solution kam:
env <- environment()
dt[a == get('a',env)]
Aber es ist so unhandlich wie:
this.a = a
dt[a == this.a]
so gibt es eine andere elegante Lösung?
Wir kennen diese [Scoping-Ausgabe] (https://r-forge.r-project.org/tracker/index.php?func= Detail & Hilfe = 2110 & group_id = 240 & atid = 978). Dies ist sehr wichtig und wird so schnell wie möglich behoben werden. Danke für die Berichterstattung. Für den Moment wäre die Verwendung eines anderen Variablennamens der richtige Weg. – Arun
Ich bin verwirrt - warum würden Sie denken, dass "a == a" funktionieren sollte oder eine gute Syntax ist? R-forge scheint für mich atm down zu sein, also kann ich den Link von @Arun nicht sehen und worum es genau geht, aber die Arbeit von 'a == a' (so wie OP es will) scheint wie eine schlechte Idee für mich und ich denke deine letzte Lösung * ist * die richtige. – eddi
Getrennt von meinem obigen Kommentar können Sie 'dt [a]' – eddi