【问题标题】:How to prevent matrix from becoming list in R?如何防止矩阵成为R中的列表?
【发布时间】:2017-09-04 20:53:18
【问题描述】:

假设我在 R 中有一个 2×3 零矩阵 A=matrix(0,2,3) 和另一个有 2 列的数据框,例如 DF = data.frame(a=c(1,1,1,1),b=c(2,2,2,2))。我想将数据框的一行分配给矩阵的一列,例如A[,1]=DF[4,]。问题是,这会将A 转换为一个列表并完全抛出A 的索引,这可能是因为DF 的行号和列名不同。我该如何解决这个问题?

【问题讨论】:

    标签: r list matrix dataframe


    【解决方案1】:

    DF[4, ] 给出一个单行数据框,它是一个列表,而矩阵是一个原子向量,它只能保存一种数据类型。您需要 unlist 数据框行并将其转换为原子向量,然后再将其分配给矩阵:

    A[,1] = unlist(DF[4,])
    
    A
    #     [,1] [,2] [,3]
    #[1,]    1    0    0
    #[2,]    2    0    0
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-06-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-03
      • 2018-11-26
      • 1970-01-01
      相关资源
      最近更新 更多