Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R语言-从数据集中获取顶级结果-排序结果_R_Many To Many_Time Series - Fatal编程技术网

R语言-从数据集中获取顶级结果-排序结果

R语言-从数据集中获取顶级结果-排序结果,r,many-to-many,time-series,R,Many To Many,Time Series,我把这些数据放在一个平面文件中- State Date HasASale CA 2013-01-01 1 SC 2013-01-01 1 NY 2013-02-01 1 MN 2013-03-01 1 WA 2013-04-01 1 CA 2013-05-01 1 SC 2013-05-01 1 到目前为止,这是一种多对多的关系 哪个月的销售额最多? 哪个州的销售额最多 我希望能够绘制结果 我正在使用R获取此信息。我能读懂这些信息- hm <- read.table("states.da

我把这些数据放在一个平面文件中-

State Date HasASale
CA 2013-01-01 1
SC 2013-01-01 1
NY 2013-02-01 1
MN 2013-03-01 1
WA 2013-04-01 1
CA 2013-05-01 1
SC 2013-05-01 1
到目前为止,这是一种多对多的关系

哪个月的销售额最多? 哪个州的销售额最多

我希望能够绘制结果

我正在使用R获取此信息。我能读懂这些信息-

hm <- read.table("states.data", header=T, sep="")
df <- data.frame(hm$Date,hm$States, hm$HasASale)
az <- with(df, zoo(hm.Freq, hm.Date))
df.TS <- aggregate(az, as.yearmon, sum)
df.sts <- aggregate(az, list(h=hm$States), sum)

hm我认为使用
by
with
的简单解决方案应该可以在您的初始数据集上使用

statesBYsales <- c(with(df, by(HasASale, State , sum)))

请阅读SO的一些指南:,和。“询问代码的问题必须表明对正在解决的问题的最低理解。包括尝试的解决方案、为什么它们不起作用以及预期的结果”。谢谢最好转储您的数据(或至少是样本)。您可以使用
dput(数据)
获取它。首先,您必须附加数据框才能使用它。所以
attach(df)
,然后我假设您的日期是factors(默认值)并且
HasASale
等于一,然后使用这个命令
unique(df[Date%in%as.factors(seq(as.Date(“2013-01-01”)、as.Date(“2013-01-12”)、“days”))1])
您能解释一下为什么不接受我的答案吗?它完全回答了你原来的问题,你以前也被接受过。对不起,这是偶然的。
datesBYsales <- c(with(df, by(HasASale, Date, sum)))
sort(datesBYsales, decreasing = TRUE)[1:20]