Meine Daten hinzufügen ist wie folgt:mehrere Variablen zu data.table
gvkey datadate fyear cusip curcd at ceq csho dltt dvc nopi oibdp prstkc
1: 1001 12/31/1981 1981 000165100 USD NA NA NA NA NA NA NA NA
2: 1001 12/31/1982 1982 000165100 USD NA NA NA NA NA NA NA NA
3: 1001 12/31/1983 1983 000165100 USD 14.080 7.823 3.568 4.344 0 0.640 2.650 0.000
4: 1001 12/31/1984 1984 000165100 USD 16.267 8.962 3.568 4.181 0 0.575 3.208 0.000
5: 1001 12/31/1985 1985 000165100 USD 39.495 13.014 3.988 11.908 0 0.623 7.247 0.009
6: 1003 12/31/1981 1981 000354100 USD NA NA NA NA NA NA NA NA
pstkrv prcc_c year REP
1: NA NA 1981 NA
2: NA NA 1982 NA
3: 0 7.250 1983 NA
4: 0 3.750 1984 0.0000000000
5: 0 10.125 1985 0.0002278769
6: NA NA 1981 NA
ich mehrere Variablen hinzufügen möchten, die auf den bestehenden basieren, und mein Code wie folgt:
Compustat.1<-Compustat.1[, `:=`(DIV= dvc/at,
REPR= REP/(REP+DIV),
PCASH= oibdp/at,
TCASH= nopi/at,
CASHVOL= data.table::shift(rollapply(PCASH,5,FUN=sd,fill=NA,align="right"),1,fill=NA),
SIZE= at,
LEV= dltt/at,
MB= prcc_c*csho),
by=cusip]
I gehalten, um die Fehlermeldung empfangen
Error in `[.data.table`(Compustat.1, , `:=`(DIV = dvc/at, REPR = REP/(REP + :
object 'DIV' not found
Da ich bereits die variable DIV in dem ersten Schritt definiert haben, konnte ich nicht WHA herauszufinden t das Problem ist.
Der Fehler sollte von 'REPR = REP/(REP + DIV) '. 'DIV' ist in' Compustat.1' definiert, bevor die gesamte Zuweisungsanweisung ausgeführt wird, deshalb wird sie nicht gefunden. – kitman0804
Wie kann ich dieses Problem beheben? – Bobo
Sie können 'DIV = DIV <- dvc/at' und ähnlich für alle anderen Spalten, die später wieder verwendet werden, wie PCASH, denke ich. Die Feature-Anfrage für das, was Sie versuchen, ist hier: https://github.com/Rdatatable/data.table/issues/659 – Frank