Given a data table with 3 columns (the first two form the key), I'm trying to add a bunch of columns x_k with k running from 1 to N
df
> a b c
1: 1 1 1
2: 1 2 1
3: 1 3 2
For each new column x_k, its value is calculated by the equation cos(2 * pi * c / k) grouped by a and b.
My approach doesn't seem to work: generating a list of column names then parsing it
df[, eval(parse(text = paste0(paste0("x_", 1:N), " := cos(2 * pi * c / ", 1:N, ")"))), by = .(a,b)]
R said c not found. How should i correct my approach other than looping through list of column names ?