2016-04-12 67 views
0

我有一個數據框,顯示按年份和季度劃分的銷售數據。 我想要做的是繪製價格方面的需求情況,但我希望看到價格與平均年度價格的差異。獲取數據中子集的平均值

我有什麼迄今是

Year <- c(1,1,1,2,2,2,2) 
Quarter <- c(1,2,3,4,1,2,3,4) 
Price <- c(10,15,20,15,15,20,20,25) 
Demand <- c(12,15,10,12,10,15,12,12) 
sales_data <- data.frame(Year, Quarter, Price, Demand) 
attach(sales_data)  
plot(Price-mean(Price),Demand) 
#Correct prices: 
#year1 -5,0,5,0 
#year2 -5,0,0,5 

當然,這個問題是平均值()使用的所有數據的不只是從每年的單獨數據。

+0

請顯示可再現的例子。 – akrun

+1

使用'ggplot2'和'dplyr''sales_data%>%group_by(Year)%>%mutate(Price = Price - mean(Price))%>%ggplot(。,aes(x = Price,y = Demand)) + geom_point()' – akrun

回答

1

使用鹼通過函數

plot(unlist(by(sales_data, sales_data$Year, function(x) x$Price - mean(x$Price))),Demand)