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
๋ฅผ ์ฌ์ฉํ์ฌ "rowwise"๊ธฐ๋ฅ์ ์ถ๊ฐํ๋ ๊ฒ์ ์ด๋จ๊น์?
์๋ ํ์ธ์ @leoluyi ,
์ ๋์ by = .I
๋์ผํฉ๋๋ค by = NULL
. ์ด SO ํ ๋ก https://stackoverflow.com/questions/37667335/row-operations-in-data-table-using-by-i๋ฅผ ์ดํด๋ณด์ญ์์ค.