标签: aggregate

R堆积条形图与汇总数据

我在创建带有汇总数据的堆积条形图时遇到了麻烦.当处理来自其他人的报告的聚合表时,我通常使用Excel,但我想开始在R中做我的所有图表,可能使用格子或ggplot.在Excel中,执行以下聚合数据的堆叠条形图需要几次单击(插入,列图表,堆积列),您将得到类似的结果.在此输入图像描述.

除了想在这张图表中RI也希望用ggplot的刻面,即把两个堆叠barcharts并排ggplot比较两个组(A和B).I've与其他图表发挥各地,这似乎是最好的选择.这是数据.Excel图表仅显示组A(数字是百分比).

D<-as.data.frame(structure(list(Group = c("A", "A", "A", "A", "A", 
"A", "B", "B", "B", "B", "B", "B"
), Education = c("NVQ Level 4 and above", "NVQ Level3", "NVQ Level 2", 
"Below NVQ Level 2", "Other qualification", "No qualification", 
"NVQ Level 4 and above", "NVQ Level3", "NVQ Level 2", "Below NVQ Level 2", 
"Other qualification", "No qualification"), Full.Time = c(47, 
27, 23, 17, 18, 9, 36, 26, 22, 22, 27, 12), PT.16.hours = c(20, 
24, 22, 18, 18, 12, 22, 21, …
Run Code Online (Sandbox Code Playgroud)

aggregate r ggplot2

7
推荐指数
1
解决办法
6708
查看次数

基于无序的列对聚合数据框

我有一个看起来像这样的数据集:

     id1  id2   size
1   5400 5505      7
2   5033 5458      1
3   5452 2873     24
4   5452 5213      2
5   5452 4242     26
6   4823 4823      4
7   5505 5400     11
Run Code Online (Sandbox Code Playgroud)

其中id1id2是在一个图形独特节点,并且size是分配给一个值涉及连接它们的边缘 id1 id2.这个数据集相当大(略多于200万行).我想这样做是和大小列,按分组无序节点对id1id2.例如,在第一行中,我们有id1=5400id2=5505.数据框中存在另一行,其中id1=5505id2=5400.在分组数据中,这两行的大小列的总和将添加到单个行中.换句话说,我想总结一下我在(无序)(id1,id2)集合上的数据.我已经找到了一种方法来使用apply自定义函数来检查完整数据集中的反向列对,但这种方法非常缓慢.有没有人知道以另一种方式做到这一点的方法,可能与plyr基础包中的某些内容相比更高效?

aggregate r plyr

7
推荐指数
2
解决办法
1042
查看次数

DDD:引用另一个聚合子实体

我目前正在深入研究DDD,需要一点点启发.

我有两个实体

  • Temple
  • TempleVariant

Temple(耳机)包含基本信息(名称,描述,...),并有n个变体,其中包含技术说明(CAD绘图,尺寸,...)

我的第一印象是: TempleTempleVariant形成一个聚合 - 它们属于一起:它们似乎非常紧密耦合

  • 如果我删除一个Temple全部TempleVariants应该同样删除
  • TempleVariant没有 Temple(至少没有意义)s 不可能存在

但后来我读到,聚合根之外任何内容不允许引用另一个聚合内的实体.但实际上并没有Temple外部实体引用而是引用TempleVariants.

这是否意味着在(DDD)现实中Temple并且TempleVariant不同的聚合,它们似乎只是一个聚合体?

但是,如果我删除Temple怎么办?正如我所说,TempleVariants也必须删除.但那会违反规则"一次聚合 - 改变 - 一次交易"(或者所谓的:),因为我的"感觉"是我必须在一次交易中删除它们......

所以我的问题是:

  • 两个聚合?
  • 如果是这样:如何处理删除?

Lg
warappa

entity domain-driven-design transactions aggregate reference

7
推荐指数
1
解决办法
1520
查看次数

如何计算列成员数据库表的算术表达式?

我有这个查询的结果

SELECT
    myTable.Branch AS Branch,
    myTable.Quarter AS Quarter,
    SUM(myTable.Sales) AS Sales
FROM
    myTable
GROUP BY
    myTable.Branch,
    myTable.Quarter

Branch  Quarter Sales
B1      Q1      17
B1      Q2      7
B1      Q3      1
B1      Q4      8
B1      Q5      12
B2      Q1      8
B2      Q2      5
B2      Q3      2
B2      Q4      14
B2      Q5      17
Run Code Online (Sandbox Code Playgroud)

现在我想得到计算成员让我们说Q1-Q3结果应该是这样的

Branch  Quarter     Sales
B1      Q1          17
B1      Q2          7
B1      Q3          1
B1      Q4          8
B1      Q5          12
B1      Q1-Q3       16
B2      Q1          8
B2      Q2          5 …
Run Code Online (Sandbox Code Playgroud)

sql database select aggregate sql-server-2012

7
推荐指数
1
解决办法
368
查看次数

aggregate.data.frame中的错误:参数必须具有相同的长度

我一直收到这个错误,我不太清楚这意味着什么.我的所有变量名都是一致的,没有拼写错误.我在这里错过了什么吗?

代码

datNewagg <- aggregate (dataNew, by = list('x', 'y', 'z', 'a', 'ab'), 
                                                             FUN = mean)  
Run Code Online (Sandbox Code Playgroud)

产生错误

  Error in aggregate.data.frame(datNew, by = list("x", "y",  : 
  arguments must have same length
Run Code Online (Sandbox Code Playgroud)

aggregate r

7
推荐指数
2
解决办法
4万
查看次数

list聚合的初始化:什么时候可以调用拷贝构造函数?

请考虑以下代码:

struct A {
  int x;
};

int main() {
  A a;
  A b{a};
}
Run Code Online (Sandbox Code Playgroud)

这个程序是否符合C++ 11标准?在我的N3797副本中说

8.5.4列表初始化 [dcl.init.list]

3:对象或类型引用的列表初始化T定义如下:
- 如果T是聚合,则执行聚合初始化(8.5.1).
- 否则,如果Tstd::initializer_list<E>,...的特化
- 否则,如果T是类类型,则考虑构造函数.枚举适用的构造函数,并使用重载决策选择最佳构造函数.如果转换任何类型需要缩小转换,则程序格式错误.
- 否则,如果初始化列表具有单个元素类型E且要么T不是引用类型,要么与引用相关E,则从该元素初始化对象或引用; 如果将元素转换为需要缩小转换T,则程序格式错误.
- 否则,如果T是引用类型,则类型引用的临时值pr T是copy-list-initialized或direct-list-initialized,具体取决于引用的初始化类型,引用绑定到该临时.
- 否则,如果初始化列表没有元素,则对象进行值初始化.
- 否则,该程序格式不正确.

示例的要点是,类型是聚合,但列表初始化应该调用复制构造函数.在gcc 4.8gcc 4.9,在C++ 11标准,它失败:

main.cpp: In function ‘int main()’:
main.cpp:7:8: error: cannot convert ‘A’ to ‘int’ in initialization
   A …
Run Code Online (Sandbox Code Playgroud)

c++ aggregate language-lawyer c++11 list-initialization

7
推荐指数
1
解决办法
222
查看次数

如何使用spark sql过滤特定聚合的行?

通常,组中的所有行都将传递给聚合函数.我想使用条件过滤行,以便只将组中的某些行传递给聚合函数.PostgreSQL可以实现这样的操作.我想用Spark SQL DataFrame(Spark 2.0.0)做同样的事情.

代码可能看起来像这样:

val df = ... // some data frame
df.groupBy("A").agg(
  max("B").where("B").less(10), // there is no such method as `where` :(
  max("C").where("C").less(5)
)
Run Code Online (Sandbox Code Playgroud)

所以对于像这样的数据框:

| A | B | C |
|  1| 14|  4|
|  1|  9|  3|
|  2|  5|  6|
Run Code Online (Sandbox Code Playgroud)

结果将是:

|A|max(B)|max(C)|
|1|    9|      4|
|2|    5|   null|
Run Code Online (Sandbox Code Playgroud)

是否可以使用Spark SQL?

请注意,通常max可以使用任何其他聚合函数,并且在具有任意过滤条件的同一列上可能存在多个聚合.

sql aggregate apache-spark apache-spark-sql spark-dataframe

7
推荐指数
2
解决办法
7818
查看次数

使用R在数据树上聚合值

我正在尝试从数据树结构中计算出小时数.我可以直接在父节点下添加小时数,但是我不能包括分配给树中父节点的小时数.任何建议都会很棒.

这就是我得到的:

levelName hours totalhours 1 Ned NA 1 2 °--John 1 3 3 °--Kate 1 3 4 ¦--Dan 1 1 5 ¦--Ron 1 1 6 °--Sienna 1 1

这就是我要找的东西:

levelName hours totalHours 1 Ned NA 5 2 °--John 1 5 3 °--Kate 1 4 4 ¦--Dan 1 1 5 ¦--Ron 1 1 6 °--Sienna 1 1

这是我的代码:

# Install package
install.packages('data.tree')
library(data.tree)

# Create data frame
to <- c("Ned", "John", "Kate", "Kate", "Kate")
from <- c("John", "Kate", "Dan", "Ron", …
Run Code Online (Sandbox Code Playgroud)

tree aggregate r nodes

7
推荐指数
2
解决办法
1038
查看次数

Spark Group通过agg collect_list多列

我有一个与此类似的问题,但由collect_list操作的列数由名称列表给出。例如:

scala> w.show
+---+-----+----+-----+
|iid|event|date|place|
+---+-----+----+-----+
|  A|   D1|  T0|   P1|
|  A|   D0|  T1|   P2|
|  B|   Y1|  T0|   P3|
|  B|   Y2|  T2|   P3|
|  C|   H1|  T0|   P5|
|  C|   H0|  T9|   P5|
|  B|   Y0|  T1|   P2|
|  B|   H1|  T3|   P6|
|  D|   H1|  T2|   P4|
+---+-----+----+-----+


scala> val combList = List("event", "date", "place")
combList: List[String] = List(event, date, place)

scala> val v = w.groupBy("iid").agg(collect_list(combList(0)), collect_list(combList(1)), collect_list(combList(2)))
v: org.apache.spark.sql.DataFrame = [iid: string, collect_list(event): …
Run Code Online (Sandbox Code Playgroud)

group-by aggregate spark-dataframe

7
推荐指数
1
解决办法
4184
查看次数

获取记录取决于其总和值

我有一个SQL Server表,其中包含这样的记录

ID | 值

1   |   100
2   |   150
3   |   250
4   |   600
5   |   1550
6   |   50
7   |   300
Run Code Online (Sandbox Code Playgroud)

我需要选择随机记录,但唯一的条件是该记录值的总和达到我定义的特定数量或百分比.

假设我需要300或10%的总价值,所以这里有机会

1   |   100
2   |   150
6   |   50
Run Code Online (Sandbox Code Playgroud)

要么

3   |   250
6   |   50
Run Code Online (Sandbox Code Playgroud)

要么

7   |   300
Run Code Online (Sandbox Code Playgroud)

任何人都可以帮助我这样做.

sql sql-server aggregate

7
推荐指数
1
解决办法
90
查看次数