【问题标题】:Fill the array using matrix in each loop in R在 R 中的每个循环中使用矩阵填充数组
【发布时间】:2020-02-18 11:33:43
【问题描述】:

我有多个包含表格形式数据的文件。我想生成一个 3 维数组,其中每个文件中的数据存储在第三维中。例如,如果我有 10 个文件,则第一个文件中的数据将存储在 3D 数组的第一层,第二个文件中的数据将存储在第二层,依此类推。

这是我正在使用的虚拟代码,但它不能正常工作。

# reading data from the file ( I have a list of files names as fname)
dataDum <- read.table(fname[i],header = F, sep =';', skip=121, stringsAsFactors = FALSE)

# Assigning data to the array. I have already generated an empty array with the desired dimension
finaldata[, , i]=dataDum

【问题讨论】:

    标签: r arrays matrix dimension


    【解决方案1】:

    尚不清楚“为什么”您的代码不能正常工作,因为没有可重现的示例。因为它应该可以正常工作,因为输入符合预期。例如:

    arr <- array(data = 0, dim = c(10,10,3));
    for(i in 1:3){
        mat <- matrix(rnorm(10^2), ncol = 10);
        arr[,,i] <- mat
    }
    arr
    

    如果发生错误,很可能是因为dataDumdata.frame。显式使用as.matrix(dataDum) 可以解决此类问题。

    【讨论】:

    • 没问题,我希望它是有用的,让你解决你的问题。我建议投票和/或将问题标记为已回答(投票附近的按钮或任何答案投票按钮)。这有助于让有类似问题的其他人更容易看到这个问题,并激励我和其他人在未来回答您的问题。 :-)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-09-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-01
    • 2013-01-19
    相关资源
    最近更新 更多