我正在处理一个非常大的数据集,我想尽可能地将数据保留在 H2O 中,而不将其带入 R。
我注意到每当我将 an 传递H2O Frame
给函数时,我对 Frame 所做的任何修改都不会反映在函数之外。有没有办法通过引用传递框架?
如果不是,那么通过复制所有框架来修改函数内的原始框架的最佳方法是什么?
另一个相关问题:将 Frame 传递给其他函数(只读)是否会在 H2O 端制作额外的副本?我的数据集是 30GB - 100GB。所以要确保传递它们不会导致内存问题。
mod = function(fdx) {
fdx[,"x"] = -1
}
d = data.frame(x = rnorm(100),y=rnorm(100))
dx = as.h2o(d)
dx[1,]
mod(dx)
dx[1,] # does not change the original value of x
> dx[1,]
x y
1 0.3114706 0.9523058
> dx[1,]
x y
1 0.3114706 0.9523058
谢谢!