当前位置: 首页 > 编程笔记 >

如何在R中将矩阵列转换为向量列表?

糜博远
2023-03-14
本文向大家介绍如何在R中将矩阵列转换为向量列表?,包括了如何在R中将矩阵列转换为向量列表?的使用技巧和注意事项,需要的朋友参考一下

如果要使用矩阵的列作为向量,则可以将它们转换为向量列表。要将矩阵列转换为向量列表,我们首先需要将矩阵转换为数据框,然后才能将其读取为列表。这可以作为as.list(as.data.frame(matrix_name))完成。

示例

考虑下面的矩阵-

> M<-matrix(1:25,nrow=5)
> M
[,1] [,2] [,3] [,4] [,5]
[1,] 1 6 11 16 21
[2,] 2  7 12 17 22
[3,] 3  8 13 18 23
[4,] 4  9 14 19 24
[5,] 5 10 15 20 25

将矩阵M列转换为向量-

> V<-as.list(as.data.frame(M))
> V
$V1
[1] 1 2 3 4 5
$V2
[1] 6 7 8 9 10
$V3
[1] 11 12 13 14 15
$V4
[1] 16 17 18 19 20
$V5
[1] 21 22 23 24 25
> str(V)
List of 5
$ V1: int [1:5] 1 2 3 4 5
$ V2: int [1:5] 6 7 8 9 10
$ V3: int [1:5] 11 12 13 14 15
$ V4: int [1:5] 16 17 18 19 20
$ V5: int [1:5] 21 22 23 24 25

检查V1,V2,V3,V4和V5是否为向量-

> is.vector(V$V1)
[1] TRUE
> is.vector(V$V2)
[1] TRUE
> is.vector(V$V3)
[1] TRUE
> is.vector(V$V4)
[1] TRUE
> is.vector(V$V5)
[1] TRUE

将非平方矩阵列转换为矢量列表-

> M_new<-matrix(1:50,nrow=5)
> M_new
   [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
[1,] 1    6   11   16   21   26   31   36   41    46
[2,] 2    7   12   17   22   27   32   37   42    47
[3,] 3    8   13   18   23   28   33   38   43    48
[4,] 4    9   14   19   24   29   34   39   44    49
[5,] 5   10   15   20   25   30   35   40   45    50
> V_new<-as.list(as.data.frame(M_new))
> V_new
$V1
[1]  1  2  3  4  5
$V2
[1]  6  7  8  9 10
$V3
[1] 11 12 13 14 15
$V4
[1] 16 17 18 19 20
$V5
[1] 21 22 23 24 25
$V6
[1] 26 27 28 29 30
$V7
[1] 31 32 33 34 35
$V8
[1] 36 37 38 39 40
$V9
[1] 41 42 43 44 45
$V10
[1] 46 47 48 49 50
 类似资料:
  • 我有一个带有空间坐标和一个变量的矩阵数据。空间分辨率为1000米。 我想将其转换为光栅格式。 我使用下面的代码来完成它。但我得到的决心与我得到的不一样。有没有更好的方法可以用我的真实数据获得相同的分辨率?

  • 问题内容: 假设我有一个形状为(1,256)的行向量。我想将其转换为形状为(256,1)的列向量。您在Numpy中会如何做? 问题答案: 您可以使用 转置 操作来执行此操作: 例: 请注意,原始数组仍将保持不变。转置操作只会复制并转置它。 如果输入阵列是相当1D中,则可以 促进 通过引入新的(singleton)的轴作为所述第二尺寸数组的列向量。下面是一个示例: 对于一维情况,还有另一个选择是使用

  • 注意温度场是一个浮动列表。我希望将这些浮点数列表转换为MLlib类型,并且希望这种转换使用基本的API来表示,而不是通过RDDs(这是低效的,因为它将所有数据从JVM发送到Python,处理是在Python中完成的,我们没有得到Spark的Catalyst优化器yada yada的好处)。我该怎么做?具体来说: 有没有办法让直铸件工作?请参见下面的详细信息(以及一次失败的变通尝试)?或者,是否有其

  • 我目前正在将原始矩阵转换为光栅以使用焦距函数,然后我想将光栅转换回矩阵。但是,当我尝试将光栅函数用作时,出现了一条错误消息。矩阵()。即使有这个非常简单的例子: 以下是我得到的: 如果(!is.null(names(x)))列表(names(x),,则数组(x,c(length(x),1L)中出错: “dimnames”[1]的长度不等于数组范围 我正在使用RstuIO、R版本3.4.0和、和库。

  • 我正在尝试将时间序列对象转换为矩阵。 此代码生成错误如下: 但是 出生时间序列 <代码>数据。矩阵(birthstimeseries)。它生成一维数据。如何将此数据帧的行数和列数保留到矩阵中。 我想要这样的结果作为一个矩阵。

  • 我有两个列表,每个列表中有两个矩阵。。是否有一种方法可以对它们进行矩阵计算,即相加,其中matrix1中的蓝色矩阵与matrix2中的蓝色矩阵相加,matrix1中的红色矩阵与matrix2中的红色矩阵相加。我能想到的唯一方法是在循环中进行计算 请注意,我将有大约10个,以及不止一组(即蓝色、红色、绿色、紫色)