[英]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.