他の3つの列を含む計算の結果である別の列を追加したいデータフレームがあります。私が現在使用している方法は非常に遅いようです。同じことを行うためのより良い方法はありますか。これが私が使用しているアプローチです。
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]))
私のデータ フレームは非常に大きく、この計算を完了するには時間がかかります。誰かが私にそれをより良くするように提案できますか?
ありがとう。