生物信息学习生物信息学与算法生物信息学

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

2018-04-09  本文已影响29人  LeoinUSA

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可以很方便的帮助我们整理数据,将重复出现的变量归到一起进行计算。

上一篇 下一篇

猜你喜欢

热点阅读