【问题标题】:How to merge a row with a matrix, and output a dataframe如何将行与矩阵合并,并输出数据框
【发布时间】:2015-04-02 04:27:33
【问题描述】:

作为初学者,我有一个非常基本的问题。当我使用 data.frame 函数将向量与矩阵合并时,向量总是合并为一列。这样,data.frame 作为 cbind 函数起作用,但是,数据的完整性,即类不会松散。我想知道如何在使用数据框功能时合并矩阵中的一行?谢谢

【问题讨论】:

    标签: r dataframe rbind


    【解决方案1】:

    假设我们需要将“向量”作为行附加到现有的“矩阵”并输出为“data.frame”,我们可以使用rbind

    res <- rbind.data.frame(m1, v2)
    res
    #  V1 V2 V3 V4
    #1  1  3  5  7
    #2  2  4  6  8
    #3  1  2  3  4
    
    str(res)
    #'data.frame':  3 obs. of  4 variables:
    # $ V1: int  1 2 1
    # $ V2: int  3 4 2
    #$ V3: int  5 6 3
    # $ V4: int  7 8 4
    

    对于cbind,我猜你提到了这个:

    data.frame(m1, v1)
    #  X1 X2 X3 X4 v1
    #1  1  3  5  7  1
    #2  2  4  6  8  2
    

    假设,我们有一个“字符”向量 ('v3') 和一个数字矩阵 ('m1'),data.frame(m1, v3, stringsAsFactors=FALSE) 会将 'v3' 的类保留为 '字符'。但是,如果我们在类似的向量('v4')上执行rbind.data.frame,这会将所有列转换为'character'。

    数据

     m1 <- matrix(1:8, ncol=4)
     v1 <- 1:2
     v2 <- 1:4
     v3 <- as.character(v1)
     v4 <- as.character(v2)
    

    【讨论】:

      猜你喜欢
      • 2020-04-08
      • 2016-07-04
      • 1970-01-01
      • 2021-12-31
      • 1970-01-01
      • 2015-11-19
      • 2021-12-14
      • 2018-09-20
      • 2023-04-07
      相关资源
      最近更新 更多