今天尝试用summarise做数据整理失败了,发现是由于summarise函数无法配合循环使用。
在网上寻找后发现aggregate函数刚刚好实现了我的需求,而且不用写循环,大大降低了失败率,特此分享给大家。
aggregate函数的功能很强大,它可以将数据按行进行分组,然后对每一组数据进行函数统计,最后把结果组合成一个表格返回。它可以应用于数据框(data.frame)、公式(formula)和时间序列(ts)等。
我们来看一下这个函数的语法:
aggregate(x, by, FUN, ..., simplify = TRUE) aggregate(formula, data, FUN, ..., subset, na.action = na.omit) aggregate(x, nfrequency = 1, FUN = sum, ndeltat = 1, ts.eps = getOption("ts.eps"), ...)
输入: ?aggregate来获取帮助。
先看这个函数的用法示范:
在R中输入:mtcars 来获取不同类型汽车道路测试的数据框类型数据。
一句话实现按cyl(汽缸数)进行分类计算平均值:
1、3个
数据
源有一个
相同
的字段“batch_no”,根据此
相同
字段将3个
数据
源
中
的
数据
放到一个报表展示
2、其
中
需展示的”所属账期“字段
数据
源
中
没有,根据
数据
源
中
的账期开始日和账期结束日判断,开始日取最早日期,结束日取最晚日期
所属账期:账期最早2020-05-20 00:00:00,账期最晚2020-07-10 00:00:00
所属账期就是202005/202006/202007或者202005~202007
3、其
中
某系字段例如“发票号”“凭证号”“
1.
函数
功能
Splits the data into subsets, computes summary statistics for each,
and returns the result in a convenient form.
将
数据
拆分为子集,为每个子集计算摘要统计信息,然后以方便的形式返回结果。
2.
函数
语法
aggregate
(x, by, FUN, ..., simplify = TRUE, drop = TRUE)
3.
函数
参数
3.1 x
an R object.
合并
数据
框有重复匹配时通常会返回所有的匹配,如何只保留匹配的第
一行
呢?其实这个需求也很常见。如芯片探针ID和基因ID往往多对一,要合并ID对应矩阵和芯片表达矩阵时。
数据
例子
data = data.frame(id = c(1,2,3,4,5),
state = c(“KS”,“MN”,“AL”,“FL”,“CA”))
scores = data.frame(id = c(1,1,1,2,2,3,3,3),
score = c(66,75,78,86,85,76,75,90))
requir
我们先构造一组
数据
,以便下面的演示
> data1<-data.frame(
+ namea=c("海波","立波","秀波"
列表列表的创建列表是“递归型”的向量,即列表
中
的元素是可以再分的。以超市货品
数据
为例,可以用列表A存储每一种货物,列表A
中
的每一种元素可被视为一种货物。对于每一种货物,可以用列表B存储其各方面的属性,比如名称,价格,生产日期等信息。> goods <- list(name = "Cookie", price = 4, outdate = F)
> goods
$name
[1]...
2010-7-11补充:
发现了一篇讲编码的深入而全面的好文章http://www.cnblogs.com/KevinYang/archive/2010/06/18/1760597.html
向文件写入非字符类型
数据
当向文件
中
写入非字符类型的
数据
时,StreamWriter和BinaryWriter存在巨大差异。
StreamWriter是把各种类型的
数据
都转化成字符,然后把字符按照一定的格式编码出...
代码如下:
GID <- data$GID[!duplicated(data$GID)] #data第一列去重#
GO <- matrix(NA,nrow=length(GID),ncol=2) #提前算好合并成的
数据
是几行几列,length(GID)行,2列#
for (i in 1:length(GID)) {
a <- data[data$GID==GID[i],]
GO[i,1] <- a[1,1]
GO[i,2] <
data2 <- pivot_wider(data, names_from = "gene",
values_from = "num")
data2[is.na(data2)] <- 0
#多个变量因子化、数字转化
data2[,2:4]<-lapply(data2[,2:4],as.numeric)
myFUN<- function(x){s
1.聚合可以看作是对查询结果的汇总。
agg
regation的强大在于它能嵌套并实现多级汇总。通常分为四类聚类:metric、bucket、pipeline、matrix
2.bucket和SQL的group by作用类似,常于metric结合使用,bucket是可以嵌套的;metric是对bucket
中
的一些统计信息;matrix在多字段上进行操作,从请求的文档的字段
中
提取信息,返回矩阵...
本文首发于“生信补给站”Tidyverse|
数据
列的分分合合,一分多,多合一TCGA
数据
挖掘可做很多分析,前期
数据
“清洗”费时费力但很需要。比如基因列为ID的需要转为常见的symbol,基因列为symbol|ID的就需要拆开了!excel分列可以解决,但是表达量
数据
较大,且excel容易产生“
数据
变形”。一, 载入
数据
,R包使用TCGA下载的
数据
,使用以下几行几列, 作为示例library(tid...
在单细胞转录组学
数据
分析
中
,我们经常需要对表达谱进行拟细胞或拟基因方向的分析,这些分析涉及到对表达矩阵的聚合汇总处理,同时还需要兼顾快速处理这些大型
数据
集。
本文分享两种方法,实现对存在同名的行和同名的列,且维度不等的多个
数据
表进行快速聚合合并...
x=data.frame(name=c("张三","李四","王五","赵六"),sex=c("M","M","F","F"),age=c(20,40,22,30),height=c(166,170,150,
一是仅利用一些工具,对
数据
的特征进行查看;二是根据
数据
特征,感知
数据
价值,以决定是否需要对别的字段进行探索,或者决定如何加工这些字段以发挥
数据
分析的价值。字段的选取既需要技术手段的支撑,也需要
数据
分析者的经验和对解决问题的深入理解。01 数值类型在进行
数据
分析时,往往需要明确每个字段的
数据
类型。
数据
类型代表了
数据
的业务含义,分为3个类型:1. 区间型
数据
(Interval)数值型
数据
的取值都是数值...