Stata - 帮助创建一个等于度数的变量

Stata - Help creating a variable which equals the number of degrees

我在 Stata 工作,负责电力需求和供应。其中一项任务是:"Create a new variable called heatd (heating days) which equals the number of degrees below 17C"

我已经在 Stata 中尝试过,在这里进行了谷歌搜索,但我不确定这是什么意思。我是要制作一个虚拟变量吗?

如果有人可以帮助我,即提示,状态代码,我将非常感激。

有些人会认为我对提问者很严厉,所以这里有一个可重现的例子。这个想法是,当温度降至 17 摄氏度(以下简称 17 摄氏度)以下时,我们会打开加热,因此如果温度低于 17 摄氏度,一天内需要升温(17 - temp)摄氏度,否则为 0 摄氏度。对数月、季节或年份进行总结是很常见的;发问者不知道这一点,所以我指出 egentotal() 函数是最好的工具。无论是对于个别天数还是在较长时间段内求和,测量单位都是摄氏度天数或度数天数,并约定使用哪种温度标度(摄氏度或华氏度等)。有些人可能想以图形方式将其视为温度-时间图上的一个区域,或离散近似的积分。

. clear 

. input temp date 

          temp       date
  1. 19     1
  2. 18     2
  3. 17     3    
  4. 16     4   
  5. 15     5
  6. end 

. gen heatday = max(0, 17 - temp) 

. list

     +-----------------------+
     | temp   date   heatday |
     |-----------------------|
  1. |   19      1         0 |
  2. |   18      2         0 |
  3. |   17      3         0 |
  4. |   16      4         1 |
  5. |   15      5         2 |
     +-----------------------+

因此,问题的核心是 max(0, 17 - temp)。在 Stata 中,另一种方法可以是 cond(temp < 17, 17 - temp, 0),它根据它是太长(坏)还是更明确(好)来划分意见。