Hi,
Interesting. Please file a bug.report(package="data.table").
As you say internally it looks like it's converting the position to a name
and then matching again, which isn't right.
In the meantime in v1.8.0 :
set(X,i=NULL,j=2L,value=200L)
In 1.8.1 the i is by default NULL so it's just :
set(X,j=2L,value=200L)
or just
set(X,,2L,200L)
Matthew

> Hi
>               X       <-      data.table(a=rep(1:3,1:3),b=31:36,c=7:12)
>               X
>               setnames(X,     2,      "a" )  ## two column named "a" now
>               X
>               X[,2:=200L, with=FALSE  ]       # Change the entries of column 2
>               X[,2, with=FALSE  ]                     # Instead of changing 
> column 2, the code
> appears to have done a look up on the column names and picked the first
> match
>               X
>
> Can anybody tell me how to change column 2 in this example when I have
> duplicate column names?
>
> Thanks
> Sean
>
>
> --
> View this message in context:
> http://r.789695.n4.nabble.com/Is-this-supposed-to-happen-tp4631075.html
> Sent from the datatable-help mailing list archive at Nabble.com.
> _______________________________________________
> datatable-help mailing list
> [email protected]
> https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/datatable-help
>


_______________________________________________
datatable-help mailing list
[email protected]
https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/datatable-help

Reply via email to