I have a data frame where I want to add another column that's a result of computation involving 3 other columns. The method I am using right now seems to be very slow. Is there any better method to do the same. Here is the approach I am using.
library(bitops)
GetRes<-function(A, B, C){
tagU <- bitShiftR((A*C), 4)
tagV <- bitShiftR(B, 2)
x<-tagU %% 2
y<-tagV %% 4
res<-(2*x + y) %% 4
return(res)
}
df <- data.frame(id=letters[1:3],val0=1:3,val1=4:6,val2=7:9)
apply(df, 1, function(x) GetRes(x[2], x[3], x[4]))
My data frame is very big and it's taking ages to get this computation done. Can someone suggest me to do it better?
Thanks.