sym*_*246 1 r matrix dataframe
我有一个数据列表,我希望将其转换为矩阵.我知道我的矩阵需要的确切大小,但数据并没有完全填满它.例如,对于长度为95的向量,我想将其转换为25*4矩阵.使用矩阵命令不起作用,因为值的数量不适合矩阵,所以我需要一种方法用NA填充它,并逐行填充矩阵.
矩阵的大小在每种情况下都是已知的,但是从一组数据到下一组数据不一致,因此理想情况下,如果数据不可用,将会有一个自动用NA填充矩阵的函数.
示例代码:
example=c(20.28671, 20.28544, 20.28416, 20.28288, 20.28161, 20.28033, 20.27906, 20.27778, 20.27651, 20.27523, 20.27396, 20.27268, 20.27141,
20.27013, 20.26885, 20.26758, 20.26533, 20.26308, 20.26083, 20.25857, 20.25632, 20.25407, 20.25182, 20.24957, 20.24732, 20.24507,
20.24282, 20.24057, 20.23832, 20.23606, 20.23381, 20.22787, 20.22193, 20.21598, 20.21004, 20.20410, 20.19816, 20.19221, 20.18627,
20.18033, 20.17438, 20.16844, 20.16250, 20.15656, 20.15061, 20.14467, 20.13527, 20.12587, 20.11646, 20.10706, 20.09766, 20.08826,
20.07886, 20.06946, 20.06005, 20.05065, 20.04125, 20.03185, 20.02245, 20.01305, 20.00364, 20.00369, 20.00374, 20.00378, 20.00383,
20.00388, 20.00392, 20.00397, 20.00401, 20.00406, 20.00411, 20.00415, 20.00420, 20.00425, 20.00429, 20.00434, 20.01107, 20.01779,
20.02452, 20.03125, 20.03798, 20.04470, 20.05143, 20.05816, 20.06489, 20.07161, 20.07834, 20.08507, 20.09180, 20.09853, 20.10525,
20.11359, 20.12193, 20.13026, 20.13860)
mat=matrix(example,ncol=4,nrow=25)
Warning message:
In matrix(example, ncol = 4, nrow = 25) :
data length [95] is not a sub-multiple or multiple of the number of rows [25]
Run Code Online (Sandbox Code Playgroud)
虽然我确信这不是最好的答案,但它可以达到你想要的效果:
如果您尝试[使用超出其长度的指标来使用矢量子集,则会使用NA
mat = matrix(example[1:100],nrow = 25, byrow = TRUE, ncol = 4)
Run Code Online (Sandbox Code Playgroud)
这感觉好像有点乱.也许其中一个是更好的R代码.
| 归档时间: |
|
| 查看次数: |
515 次 |
| 最近记录: |