【问题标题】:Resampling on non-NA in matrix对矩阵中的非 NA 进行重采样
【发布时间】:2018-05-17 22:00:00
【问题描述】:

我们如何仅对非 NA 元素重新采样并获得另一个 10x10 且 NA 较低的矩阵?

    mymatrix
            [,1]       [,2]       [,3]        [,4]        [,5]       [,6]          [,7]       [,8] [,9] [,10]
 [1,] -0.6068580 -0.8890714 -0.8088864 -0.37703190  0.97317259  1.6331389 -0.0003412596 -0.9642963  0    NA
 [2,]  2.4474819 -0.7655850  2.1295559  1.74173972  0.22162688 -1.0956214  1.3373400489  1.0344721   NA    NA
 [3,] -0.1344245 -0.2457321 -0.5196433 -0.19503708  1.01253271 -0.3426053 -1.1006913633         NA   NA    NA
 [4,] -0.4566595 -0.8942554  0.4021141 -1.43214088  0.00130944 -0.1228521            NA         NA   NA    NA
 [5,]  1.2089864  0.1007919  0.6669400 -0.01866827 -1.72585991         NA            NA         NA   NA    NA
 [6,]  0.3114062  0.4953031 -0.7354951  0.85718973          NA         NA            NA         NA   NA    NA
 [7,]  0.6323015  2.2380874 -0.6270626          NA          NA         NA            NA         NA   NA    NA
 [8,]  0.5002691  0.7062827         NA          NA          NA         NA            NA         NA   NA    NA
 [9,] -0.4541493         NA         NA          NA          NA         NA            NA         NA   NA    NA
[10,]         NA         NA         NA          NA          NA         NA            NA         NA   NA    NA

【问题讨论】:

  • 你的预期输出是什么?
  • @MKR 另一个 NA 在较低的矩阵

标签: r dataset bootstrap-4 resampling statistics-bootstrap


【解决方案1】:

你可以试试这个

mymatrix <- matrix(c(1:3, NA, 4:5, NA, NA, 6, NA, NA, NA, NA, NA, NA, NA), nrow = 4)
mymatrix
#     [,1] [,2] [,3] [,4]
#[1,]    1    4    6   NA
#[2,]    2    5   NA   NA
#[3,]    3   NA   NA   NA
#[4,]   NA   NA   NA   NA

set.seed(1)
mymatrix[!is.na(mymatrix)] <- sample(x = mymatrix[!is.na(mymatrix)],
                                     size = sum(!is.na(mymatrix)),
                                     replace = FALSE)
mymatrix
#     [,1] [,2] [,3] [,4]
#[1,]    2    4    5   NA
#[2,]    6    1   NA   NA
#[3,]    3   NA   NA   NA
#[4,]   NA   NA   NA   NA

用相同值的sample 替换矩阵中不是NA 的值,即mymatrix[!is.na(mymatrix)]。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-12
    • 1970-01-01
    • 2023-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多