【问题标题】:Programmatically creating a data frame and adding rows to it以编程方式创建数据框并向其添加行
【发布时间】:2012-01-20 10:04:00
【问题描述】:

我最近开始使用 R 并且仍然习惯于它的数据类型等。我正在从数据库中获取数据,对数据执行计算,然后将一些结果存储回数据库。

计算的数据将存储在数据库中的特定表中。我想创建一个数据框,其列与 db 表的列匹配(即相同的名称和数据类型 [near as])。为了做到这一点,我需要能够做到以下几点:

  1. 以编程方式创建具有指定“列”的数据框 我知道我可以使用 data.frame() 创建它,但不清楚如何创建一个只有列标题但还没有数据(行)的数据框。

  2. 以编程方式将行添加到上述步骤 1 中创建的空数据框

【问题讨论】:

    标签: r


    【解决方案1】:
    empty <- data.frame(a = numeric(), b = factor(), c = character())
    filled <- rbind(empty, data.frame(a = 1, b = factor("abc"), c = "def"))
    

    它在行动:

    > empty <- data.frame(a = numeric(), b = factor(), c = character())
    > empty
    [1] a b c
    <0 rows> (or 0-length row.names)
    > empty$a
    numeric(0)
    > empty$b
    factor(0)
    Levels: 
    > empty$c
    character(0)
    > filled <- rbind(empty, data.frame(a = 1, b = factor("abc"), c = "def"))
    > summary(filled)
           a       b          c            
     Min.   :1   abc:1   Length:1          
     1st Qu.:1           Class :character  
     Median :1           Mode  :character  
     Mean   :1                             
     3rd Qu.:1                             
     Max.   :1   
    

    【讨论】:

    猜你喜欢
    • 2019-07-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多