楼主: aiaitangyue
176 7

[数据管理求助] 想要得到每个农户的土地质量指数,是用每个作物与此作物当地平均的比值的加权平均。 [推广有奖]

  • 2关注
  • 0粉丝

本科生

78%

还不是VIP/贵宾

-

威望
0
论坛币
3 个
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
862 点
帖子
79
精华
0
在线时间
109 小时
注册时间
2016-3-31
最后登录
2018-12-6

aiaitangyue 发表于 2018-3-14 15:35:45 |显示全部楼层
本帖最后由 aiaitangyue 于 2018-3-14 15:40 编辑

数据片段在第一个评论中哈,在此先谢过了!

目的:想要得到每个农户的土地质量指数,是用每个作物与此作物当地平均的比值的加权平均。

但是:1、每种作物为0的不计入平均数;

2、每个农户的某种作物如果为0,那么此指数就不包含此作物。

比如,下面的作物1的平均数用农户13平均;

      农户1的土地质量指数用作物134的与对应的作物平均数的比值求加权平均。

有点绕啊,希望能多读两遍,小女子谢了。


作物1


作物2


作物3


作物4


土地质量指数


农户1


1.99


0


2


6.8



农户2


0


2.1


0


3.6



农户3


3.2


0


0


7.6



农户4


0


2.3


5


0



平均数







我的思路是这样,但是不知如何操作。

先对通常产量不为0的求每种作物的平均数,

然后对每个农户通常产量不为0的计数为n

然后求出每个农户每种作物与平均数的比值相加除以n得到质量指数。





stata SPSS
aiaitangyue 发表于 2018-3-14 15:37:51 |显示全部楼层
  1. * Example generated by -dataex-. To install: ssc install dataex
  2. clear
  3. input str1 region str3 code float(barley wheat rice rapeseeds peanut cotton sweetpotato)
  4. "2" "60"    1489.2  2138.7   1737.4      0   1890   756      0
  5. "2" "61"     992.8  1425.8   1985.6 756.48   1134   567      0
  6. "2" "62"    794.24  1425.8   1489.2 756.48   1890     0      0
  7. "2" "63"    1489.2  2138.7   1489.2      0   1890   567   7560
  8. "2" "64"    694.96  998.06   1737.4 756.48   1890     0   7560
  9. "2" "65"    1489.2  2138.7   1489.2 756.48 2362.5   567      0
  10. "2" "66"    794.24 1140.64  1191.36 425.52 2362.5   567   3780
  11. "2" "67"     992.8  1425.8   1985.6 1418.4   1890 661.5   7560
  12. "2" "68"    1985.6  2851.6  1886.32 756.48 2362.5   756      0
  13. "2" "69"     992.8 1140.64  1191.36 567.36   1890 283.5 4252.5
  14. "2" "70"     992.8  1425.8   1489.2      0   1890   756   9450
  15. "2" "71"    1489.2       0   1737.4 1418.4   1890   756      0
  16. "2" "72"   1191.36       0  2084.88  945.6      0 548.1      0
  17. "2" "73"  1131.792       0 2094.808 2836.8   3780     0      0
  18. "2" "74"    1489.2  1425.8     1241 756.48   1890   567   7560
  19. "2" "75"  1131.792  1425.8 2094.808 2836.8   3780     0      0
  20. "2" "76"    794.24 1140.64     1241  472.8    945 472.5      0
  21. "2" "77"    1489.2       0     2482 1418.4   1890 661.5      0
  22. "2" "78"    1489.2  1425.8   1737.4 661.92   1890   567   6615
  23. "2" "79"    1985.6  2851.6   1985.6 661.92 2362.5   756   7560
  24. "2" "80"     992.8 1140.64   1737.4 756.48 1417.5     0   7560
  25. "2" "81"    1489.2  2138.7   1737.4 756.48      0   567      0
  26. "2" "82"    1489.2  2138.7   1737.4 661.92   1890 661.5      0
  27. "2" "83"     992.8  2138.7   1985.6  945.6 1417.5   756   7560
  28. "2" "84"    1489.2  2138.7   1737.4 756.48   1890 661.5      0
  29. "2" "85"     992.8       0     1241      0 2362.5 453.6      0
  30. "2" "86"    1489.2  855.48    992.8 567.36   1701 472.5   5670
  31. "2" "87"     992.8  1425.8   2233.8      0 1417.5 472.5      0
  32. "2" "88"    794.24 1069.35   1489.2 378.24   2835   567      0
  33. "2" "89"     992.8 1140.64  1042.44 1418.4    945     0      0
  34. "2" "90"    1489.2       0   1737.4      0   1890 661.5      0
  35. "2" "91"     992.8  1425.8   1489.2 661.92   1890   567      0
  36. "2" "92"     992.8  1425.8   1489.2 756.48   1890 850.5      0
  37. "2" "93"     992.8  2138.7   1737.4  945.6   1890     0      0
  38. "2" "94"    1489.2  1425.8   1737.4 756.48   1890   567   5670
  39. "2" "95"    1489.2  2138.7   1489.2 661.92   1890   567   6615
  40. "2" "96"     992.8       0   1737.4 661.92   1890   756   5670
  41. "2" "97"     992.8  1425.8   1737.4  945.6 2362.5   756      0
  42. "2" "98"    893.52  1425.8   1737.4  945.6      0   567   4725
  43. "2" "99"     992.8 1140.64   1489.2  945.6   1890 472.5   7560
  44. "2" "100"    992.8  1425.8   1737.4 1418.4   1890 661.5   6615
  45. end
复制代码

回复

使用道具 举报

蓝色 发表于 2018-3-14 16:00:40 |显示全部楼层
  1. mvdecode _all, mv(0=. )
  2. tabstat barley- sweetpotato
  3. egen q=rowmean(barley- sweetpotato)
复制代码


回复

使用道具 举报

aiaitangyue 发表于 2018-3-14 16:05:04 |显示全部楼层
蓝色 发表于 2018-3-14 16:00
您这个最后一个代码是求的每一个农户的非0平均数,我是要求出每一种作物的平均数,然后用每个农户的每种作物的产量与对应的平均数的比值,最后再求加权平均
回复

使用道具 举报

aiaitangyue 发表于 2018-3-14 16:06:59 |显示全部楼层
本帖最后由 aiaitangyue 于 2018-3-14 16:18 编辑
蓝色 发表于 2018-3-14 16:00
这样子求出来应该是一个0到1点几这样一个数
但是按照您的方法是几百几千的数
回复

使用道具 举报

aiaitangyue 发表于 2018-3-14 16:28:43 |显示全部楼层
蓝色 发表于 2018-3-14 16:00
您好!多谢您的回复,但是最后一个代码不正确呢,我是需要求每一种作物的平均数,然后用每个农户的每种作物的产量与对应的平均数的比值,最后再求加权平均
回复

使用道具 举报

蓝色 发表于 2018-3-14 17:42:27 |显示全部楼层
  1. mvdecode _all, mv(0=. )

  2. egen  mbarley=mean(barley)
  3. ge    rbarley=barley/mbarley

  4. egen  mwheat=mean(wheat)
  5. ge    rwheat=wheat/mwheat

  6. egen q=rowmean(rbarley  rwheat)
复制代码



只做2个作物的
剩下的你模仿写全了就可以了
回复

使用道具 举报

aiaitangyue 发表于 2018-3-14 18:55:20 |显示全部楼层
蓝色 发表于 2018-3-14 17:42
只做2个作物的
剩下的你模仿写全了就可以了
搞定了,多谢前辈!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 我要注册

GMT+8, 2018-12-11 09:14