-1

一連のポイントの加重平均を取る式によって線が決定される、線の傾きをグラフィカルに表現したいと考えています。重みは、表されていない外部要因に基づいています。

x 変数 (価格) を x 軸に、従属 (数量) を y 軸に持つ集計グラフがあります。私はそのグラフを別のグラフと重ね合わせようとしています。これは、経験的に導出した価格に対する数量の変化の急峻さを表す線のセットであり、曲線の傾きとは一致しません。

x 軸は価格です。y はボリュームでなければなりません。曲線の傾きは弾力性でなければなりません。Rでこれを行う方法はありますか?

弾力性とは、価格が 1 ドル変化したときの数量の変化です。さまざまな価格帯で異なります。

df

Category       Price   Volume_Band     Elasticity 

alpha        $1      50,000          -0.5 
beta         $2      100,000         -1 
gamma        $3      200,000         -1.5 
delta        $4      250,000         -2
4

2 に答える 2

1

グラフがどのように見えるかはまだわかりません。2 つのバリエーションを紹介しますが、モックアップを提供していただけないでしょうか。

可能性 1:

DF <- read.table(text="Category       Price   Volume_Band     Elasticity 
alpha        $1      50,000          -0.5
beta         $2      100,000         -1 
gamma        $3      200,000         -1.5 
delta        $4      250,000         -2",header=TRUE)

DF$Price <- as.numeric(gsub("\\$","",DF$Price))
DF$Volume_Band <- as.numeric(gsub(",","",DF$Volume_Band))

dx <- 0.2
dy <- dx*DF$Elasticity


DF$xstart <- DF$Price-dx
DF$xend <- DF$Price+dx
DF$ystart <- DF$Volume_Band-dy
DF$yend <- DF$Volume_Band+dy


library(ggplot2)

p1 <- ggplot(DF, aes(x=Price, y=Volume_Band)) +
  geom_point() +
  geom_segment(aes(x=xstart,y=ystart,xend=xend,yend=yend))

print(p1)

ここに画像の説明を入力

斜面が小さすぎて見えないことに注意してください。

可能性 2:

p2 <- ggplot(DF, aes(x=Price, y=Volume_Band)) +
  geom_point(aes(colour=Elasticity),size=3) +
  scale_colour_gradient(high="black",low="red")

print(p2)

ここに画像の説明を入力

于 2013-07-12T07:38:25.083 に答える
1

データを見ると、あまり曲率を暗示しているようには見えないため、直線近似は次のようになります。

 lm(dat[[4]]~dat[[3]])


Call:
lm(formula = dat[[4]] ~ dat[[3]])

Coefficients:
(Intercept)     dat[[3]]  
     -2e-01       -7e-06  

plot(dat[[3]],dat[[4]])
abline(coef(lm(dat[[4]]~dat[[3]])))
于 2013-07-11T19:37:28.393 に答える