将 bigstatsr::FBM 转换为矩阵?

Convert bigstatsr::FBM to matrix?

是否可以将 bigstatsr::FBM 对象转换为常规 R 矩阵?

例如,假设我生成了以下矩阵:

N <- 100
K <- 50
`%dopar%` <- foreach::`%dopar%`
`%:%` <- foreach::`%:%`
mat3 <- bigstatsr::FBM(N, K)
cl <- parallel::makeCluster(2)
doParallel::registerDoParallel(cl)
tmp3 <- foreach::foreach(j = 1:K, .combine = 'c') %:%
  foreach::foreach(i = 1:N, .combine = 'c') %dopar% {
    mat3[i, j] <- i + j
    NULL
  }
parallel::stopCluster(cl)

我想将mat3 转换为常规 R 矩阵对象。我尝试了以下但没有用

A <- as.matrix(mat3)
Error in as.vector(x, mode) : 
  cannot coerce type 'environment' to vector of type 'any'

您可以只使用 mat3[] 从 FBM 获取矩阵。

请看https://privefl.github.io/R-presentation/bigstatsr.html#7

相反,您可以使用as_FBM()