使用聚合函数汇总每个日期的总收入

时间:2017-05-30 12:24:37

标签: r dataframe aggregate tapply

我有int startPjsip(char *sipUser, char* sipDomain); /** * Make VoIP call. * @param destUri the uri of the receiver, something like "sip:192.168.43.106:5080"; */ 2. void makeCall(char* destUri); 3. void endCall(); df的每日收入数据集2016-01-01。数据集包含2017-05-21Datumlanguages个变量。

Opbrengst

我希望 Datum lanuage Opbrengst 596 20160101 bg 254 923 20160101 bg-bg 434 1044 20160101 ca 115 1544 20160101 ca-es 238 2008 20160101 cs 251 .... group by Datum

我已尝试过How to sum a variable by group?

中的方法
Opbrengst

 aggregate(Datum ~ Opbrengst, data=df, FUN="sum")

结果变为

 tapply(df$Datum, df$Opbrengst, FUN=sum)

这不是我想要的结果。我希望每个日期的收入总和。我想知道问题出在哪里?

1 个答案:

答案 0 :(得分:2)

我们有两个问题。

1)在aggregate的公式方法中使用分组变量。分组变量位于~的rhs,Opbrengst

上的感兴趣变量lhs
aggregate(Opbrengst~Datum, df1, sum)

2)专栏' Opbrengst'是factor。它似乎有,个字符,在阅读时会产生factor课程(如果我们不在stringsAsFactors = FALSE中指定read.csv/read.table等)。一种选择是使用,删除sub,转换为numeric,然后使用aggregate

df$Opbrengst <- as.numeric(gsub(",", "", df$Opbrengst))