рдореИрдВ data.table
рдореЗрдВ рдкрдВрдХреНрддрд┐ рд╕рдВрдЪрд╛рд▓рди рдХреИрд╕реЗ рдХрд░реЗрдВ рдХреЗ рд╡рд┐рдХрд▓реНрдк рддрд▓рд╛рд╢ рд░рд╣рд╛ рдерд╛ рдФрд░ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореБрдЭреЗ рдПрдХ рдмрдЧ рдорд┐рд▓ рдЧрдпрд╛ рд╣реИред
рдХреЛрдб рдХреА рдЗрди рддреАрди рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рдПрдХ рд╣реА рдкрд░рд┐рдгрд╛рдо рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдПред рд╣рд╛рд▓рд╛рдВрдХрд┐, by = .I
рдкрд░рд┐рдгрд╛рдо рдЧрд▓рдд рдкрд░рд┐рдгрд╛рдо рджреЗрддрд╛ рд╣реИред
dt[, sdd := sum(.SD[, 2:4, with=FALSE]), by = 1:NROW(dt) ]
dt[, rowpos := .I][ , sdd := sd(.SD[, -1, with=FALSE]), by = rowpos ]
dt[ , sdd := sd(.SD[, -1, with=FALSE]), by = .I ]
рдирдореВрдирд╛ рдбреЗрдЯрд╛:
dt <- data.table(V0 =LETTERS[c(1,1,2,2,3)],
V1=1:5,
V2=3:7,
V3=5:1)
рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ, by = .I
рдХреЛ рдПрдХ рддреНрд░реБрдЯрд┐ рджреЗрдиреА рдЪрд╛рд╣рд┐рдП, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдпрд╣ i-expression
рдореМрдЬреВрдж рд╣реЛред
.N
рдореЗрдВ by
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд╕рд╛рде рдЗрд╕реА рддрд░рд╣ рдХреА рд╕рдорд╕реНрдпрд╛ (рдлрд┐рд░ рд╕реЗ рдХреЛрдИ рднреЛрд▓реЗрдкрди рд╕реЗ рдХреЛрд╢рд┐рд╢ рдХрд░ рд╕рдХрддрд╛ рд╣реИ - dt[, ..., by = 1:.N]
- рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рд╡рд┐рд╢реЗрд╖ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдПрдХ рддреНрд░реБрдЯрд┐ рджреЗрддреА рд╣реИ, рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ "рд╕рд╣реА" рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рд╣реИ)ред
рдХреНрдпреЛрдВ рди рдХреЗрд╡рд▓ by = .I
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реБрд╡рд┐рдзрд╛ "рдкрдВрдХреНрддрд┐рдмрджреНрдз" рдЬреЛрдбрд╝реЗрдВ, рдЬреЛ рд╕рд╣рдЬ рд▓рдЧрддрд╛ рд╣реИред
рд╣рд╛рдп @leoluyi ,
рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ by = .I
рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИ by = NULL
ред рдЗрд╕ SO рдЪрд░реНрдЪрд╛ рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВ https://stackoverflow.com/questions/37667335/row-operations-in-data-table-using-by-i