小编bfd*_*bfd的帖子

最快的方法是使用大数据来估算列

我有一个大的数值数据集(约700行,350,000列,作为R中的data.table读入)包含一些NA,我想尽快用列表示替换.我发现之前的帖子用NA代替NA,但是当我修改解决方案而不是输入列意味着时,我得到j,列号.似乎我必须遗漏一些明显的东西...关于如何计算列的任何建议意味着使用这种方法?

在大型data.table中替换NA的最快方法

#original code
f_dowle3 = function(DT) {
     for(j in seq_len(ncol((DT)))
         set(DT,which(is.na(DT[[j]])),j,0)
 }

#modified code
impute = function(DT) {
     for(j in 2:ncol(DT))
         set(DT,which(is.na(DT[[j]])),j,mean(DT[,j],na.rm = TRUE))
 }

test_impute = fread("test_impute.csv")

test_impute
    ID snp1 snp2 snp3 snp4
 1:  1    2    1    1    0
 2:  2    2    2    0    0
 3:  3    2   NA    0   NA
 4:  4    2    1    2    0
 5:  5    2   NA    2    0
 6:  6    2    1    1    0
 7:  7    1    1   NA    0
 8:  8   NA …
Run Code Online (Sandbox Code Playgroud)

r large-data data.table imputation

5
推荐指数
1
解决办法
493
查看次数

标签 统计

data.table ×1

imputation ×1

large-data ×1

r ×1