使用聚合函数聚合每个日期的总收入
Aggregate the total revenue for each date by using aggregate function
我有一个从 2016-01-01
到 2017-05-21
的每日收入数据集 df
。数据集包含 Datum
、languages
和 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
换Opbrengst
。
我试过How to sum a variable by group?
的方法
aggregate(Datum ~ Opbrengst, data=df, FUN="sum")
或
tapply(df$Datum, df$Opbrengst, FUN=sum)
结果变成
Opbrengst Datum
1 10 786304986
2 100 1048457710
3 1000 221796843
4 1000,01 20160628
5 1000,78 20170104
这不是我想要的结果。我想要每个日期的收入总和。我想知道问题出在哪里?
我们有两个问题。
1) aggregate
公式方法中分组变量的使用。分组变量放在 ~
的右侧,而感兴趣的变量 Opbrengst
放在 lhs
的右侧
aggregate(Opbrengst~Datum, df1, sum)
2) 'Opbrengst' 列是 factor
。它似乎有 ,
字符,并且在阅读时会导致 factor
class(如果我们没有在 read.csv/read.table
中指定 stringsAsFactors = FALSE
等)。一种选择是使用 sub
删除 ,
,转换为 numeric
,然后使用 aggregate
df$Opbrengst <- as.numeric(gsub(",", "", df$Opbrengst))
我有一个从 2016-01-01
到 2017-05-21
的每日收入数据集 df
。数据集包含 Datum
、languages
和 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
换Opbrengst
。
我试过How to sum a variable by group?
的方法 aggregate(Datum ~ Opbrengst, data=df, FUN="sum")
或
tapply(df$Datum, df$Opbrengst, FUN=sum)
结果变成
Opbrengst Datum
1 10 786304986
2 100 1048457710
3 1000 221796843
4 1000,01 20160628
5 1000,78 20170104
这不是我想要的结果。我想要每个日期的收入总和。我想知道问题出在哪里?
我们有两个问题。
1) aggregate
公式方法中分组变量的使用。分组变量放在 ~
的右侧,而感兴趣的变量 Opbrengst
放在 lhs
aggregate(Opbrengst~Datum, df1, sum)
2) 'Opbrengst' 列是 factor
。它似乎有 ,
字符,并且在阅读时会导致 factor
class(如果我们没有在 read.csv/read.table
中指定 stringsAsFactors = FALSE
等)。一种选择是使用 sub
删除 ,
,转换为 numeric
,然后使用 aggregate
df$Opbrengst <- as.numeric(gsub(",", "", df$Opbrengst))