r - 将数据从长数据更改为矩阵

标签 r matrix statistics

我有一个数据集,需要将其转换为矩阵。问题是,它目前是长格式。

示例:

test <- expand.grid(x = c(0:5), y = c(0:6), z = NA)
test$z <- rnorm(length(test$x))

我需要将其转换为一个矩阵,其中矩阵的 x 轴对应于测试的 x 列,y 轴对应于测试的 y 列,矩阵是 z 数据。我似乎无法用逻辑来完成这件事。

最佳答案

也许您想用 z 制作一个矩阵,其行数对应于唯一的 x 值以及唯一的 y 值的行数.

M <- matrix(test$z, nrow=length(unique(test$x)))
M
#            [,1]        [,2]       [,3]       [,4]        [,5]       [,6]       [,7]
# [1,]  1.3709584  1.51152200 -1.3888607 -2.4404669  1.8951935  0.4554501 -0.78445901
# [2,] -0.5646982 -0.09465904 -0.2787888  1.3201133 -0.4304691  0.7048373 -0.85090759
# [3,]  0.3631284  2.01842371 -0.1333213 -0.3066386 -0.2572694  1.0351035 -2.41420765
# [4,]  0.6328626 -0.06271410  0.6359504 -1.7813084 -1.7631631 -0.6089264  0.03612261
# [5,]  0.4042683  1.30486965 -0.2842529 -0.1719174  0.4600974  0.5049551  0.20599860
# [6,] -0.1061245  2.28664539 -2.6564554  1.2146747 -0.6399949 -1.7170087 -0.36105730

数据

test <- expand.grid(x = c(0:5), y = c(0:6), z = NA)
set.seed(42)  # for sake of reproducibility
test$z <- rnorm(length(test$x))

关于r - 将数据从长数据更改为矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58545107/

相关文章:

c - 在C中动态分配一个字符串矩阵

r - 在 r 中按年份分面月度数据 - 没有数据出现的月份

C 矩阵行列式计算 - 内存泄漏

r - Tidyeval:将列列表作为 quosure 传递给 select()

python - 使用 python 替换字典中矩阵键返回错误的选项

r - 获取稳健回归系数的置信区间 (MASS::rlm)

node.js - Nodejs Azure 存储 blob 服务 : getStats not working

项目排名算法

python - Matplotlib 等同于 ggplot geom_ribbon?

r - 使用 tidyr unite 将列值与列名称组合