<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 12pt;
font-family:Calibri
}
--></style></head>
<body class='hmmessage'><div dir='ltr'>Hello everyone,<BR>I ask a question directly linked with other question which I was answered in this list a year ago. Let the data table be:<BR>DT <- data.table(obs=1:7, id=c(1,1,1,4,4,4,4), time=c(3,4,7,5,8,10,15))<BR> <BR>Now I add a new column, called "value", which contains all zeros except the first observation within each "id" group, which is equal to 2. <br>One possible solution I was given is the following two code lines:<BR>> DT[ , value:=0]<br>> DT[!duplicated(id), value:=2]<BR> <BR>But I wonder if it is possible to do the same ON A SINGLE CODE LINE. I have tried different options but they doesn't work:<BR>1) DT[ , value:= c(0, 2), by=id]<br>2) DT[ , value:= ifelse( DT[!duplicated(id)]==T, 2, 0), by=id]<BR> <BR>Many thanks!<BR>                                       </div></body>
</html>