Saya ingin menerapkan fungsi ke kolom data.tabel tetapi saya ingin memperhitungkan grup mana fungsi tersebut diterapkan, yaitu saya ingin meneruskan nilai grup sebagai parameter ke fungsi tersebut. Namun saya tidak bisa mendapatkan nama grup ketika fungsi saya diterapkan.
Bagaimana cara mendapatkan nilai grup? Atau haruskah saya menggunakan pendekatan yang berbeda?
Contoh:
library(data.table)
set.seed(369)
dta <- data.table(gr = 1:5,
a = rnorm(5),
b = rnorm(5),
c = rnorm(5),
d = rnorm(5))
add <- function(x, y, group){
if(group == 1){
x + y
} else{
x - y
}
}
dta[, newcol := add(c, d), by = (gr)]
Saya tidak tahu cara meneruskan nilai grup saat ini ke fungsi