簡體   English   中英

為線性回歸創建循環

[英]Creating a loop for linear regression

我有一個包含三列的 data.frame,Name_of_brand、Price 和 Quantity。 我想用 (lm) 函數計算線性回歸的系數。

    Name_of_brand       Price     Quantitity
1.    Brand 1              80         100
2.    Brand 1              85          95
3.    Brand 2              90          80
4.    Brand 2              90         100
5.    Brand 2             100         100
6.    Brand 3             150          80
7.    Brand 4             155          70
8.    Brand 5             165          70
9.    Brand 5             165          60
10.   Brand 6             170          60
11.   Brand 7             180          60
12.   Brand 7             180          60
13.   Brand 7             180          70
14.   Brand 8             170          80
15.   Brand 8             170          60

首先,我想轉換日志中的數字,按 Name_of _brand 分組,然后計算每個類似示例的價格彈性,例如品牌 1、品牌 2 等。

品牌1表

Name_of_brand       Price    Quantitity

1. 品牌 1 80 100 2. 品牌 1 85 95

品牌2表

    Name_of_brand       Price    Quantitity
3.    Brand 2              90          80
4.    Brand 2              90         100
5.    Brand 2             100         100

品牌3等...

最后我想得到兩列的 final_table,第一列是 Name_of_brand 和 Coeff_elasticity。

Final_table

    Name_of_brand  Coeff_elasticity.
1.    Brand 1            -0,5
2.    Brand 2            -0,6
3.    Brand 3            -0,7
4.    Brand 4            -0,7
5.    Brand 5            -0,5
etc.

誰能幫我一些計算代碼?

無需將您的數據明確地分成幾個子集。

model <- plyr::dlply(data, "Name_of_brand", function(df) lm(log(Quantitity) ~ log(Price), data = df))

您可以使用coef檢索“Name_of_brand”每個級別的coef

coefficients <- plyr::dlply(model, coef)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM