R将数据框内相同变量的数据相加

作者: LeoinUSA | 来源:发表于2018-04-09 11:00 被阅读29次

    1. 问题

    有的时候从原始数据读入到R中的数据会有很多的重复数据,并没有进行数据合并,对于后续的处理中会造成麻烦,因为R处理这种数据的时候会只取用第一次出现的结果。处理这个问题有很多方法,记录如下。

    2. 解决

    首先建立一个数据框,用来测试我们的方法:

    bevs <- data.frame(cbind(name = c("Bill", "Llib"), drink = c("coffee", "tea", "cocoa", "water"), cost = seq(1:8)))
    bevs$cost <- as.integer(bevs$cost)
    bevs
    
    bevs数据结构

    下面利用plyr包里面的count函数进行相加

    library(plyr)
    count(bevs, "name")
    
    name出现的次数

    同时统计两列,结果如下:

    count(bevs, c("name", "drink"))
    
    name和drink统计

    如果想知道Bill和Llib在不同drink上花费的钱是多少呢?可以使用 aggregate函数。

    aggregate(cost ~ name + drink, data = bevs, sum)
    
    统计name和drink下的cost

    统计Bill和Llib的总花费

    aggregate(cost ~ name, data = bevs, sum)
    
    name的cost

    3. 总结

    总结而言,利用countaggregate可以很方便的帮助我们整理数据,将重复出现的变量归到一起进行计算。

    相关文章

      网友评论

        本文标题:R将数据框内相同变量的数据相加

        本文链接:https://www.haomeiwen.com/subject/canjhftx.html