【问题标题】:Convert 1 × CN matrix to C × N matrix将 1 × CN 矩阵转换为 C × N 矩阵
【发布时间】:2014-12-28 16:54:29
【问题描述】:

将1×CN矩阵转换为C×N矩阵最有效的方法是什么?

这是我一直面临的问题。

  1. 我一直在使用巴基斯坦的微型家庭数据,并使用艾滋病模型和nlcom命令估计弹性。

     nlsur quaids @ w1 w2 w3 w4 w5 w6 w7 lnp1-lnp8 lnm [pw=weight], /* 
         */ ifgnls nequations(7) /*
         */ param(a1 a2 a3 a4 a5 a6 a7 b1 b2 b3 b4 b5 b6 b7 g11 g12 g13 g14 g15 g16 g17 g22 g23 g24 g25 g26 g27 g33 g34 g35 g36 g37 g44 g45 g46 g47 g55 g56 g57 g66 g67 g77 l1 l2 l3 l4 l5 l6 l7) nolog
    
     nlcom (eh11:[g11]_cons/m_w1 + m_w1 - 1)/*
         ..........
         */ (eh77:[g77]_cons/m_w7 + m_w7 - 1)
    
  2. 然后我得到了希克斯弹性,它是 1 × 49 矩阵。

    matrix list r(b)
    
  3. 我想在商品价格上涨时使用希克斯弹性来估计补偿变化,所以我必须将弹性矩阵从 1 × 49 转换为 7 × 7,但是我尝试了很多方法都无法制作这个矩阵.


更新:

按照之前的建议,我得到了如下结果。


matrix list Es

Es[8,8]

      c1        c2        c3         c4         c5         c6         c7         c8

r1 -.55723312 .17792396 .07480918 .08014676 -.14777629 .06792643 .14629625 .15790682

r2 .37012189 -.53367971 -.01898065 .01182084 .10687796 -.01585994 -.07652818 .15622777

r3 .43624245 -.05320763 -.62772824 .10168586 -.2441294 .18205766 -.04611322 .25128797

r4 .1708841 .01211585 .03717947 -.36135548 .09168136 .03541119 .02722708 .12727678

r5 -.14553177 .05059771 -.04122874 .04234659 -.19625015 .1456979 .01555162 .12692767

r6 .2928915 -.0328745 .13461825 .07161317 .63792299 -1.2204229 .0387352 .21100258

r7 .20829112 -.05237797 -.01125875 .01818122 .0224833 .01279014 -.24563738 .10818032

r8 .11555958 .05496079 .03152381 -.00451132 .09572484 .01315618 .02442979 -.33084368`


然后我想生成每个家庭的补偿变量(CV_h)如下, 但我无法编写如下方程,与链接相同。(第 9 页方程 5) http://www.nber.org/papers/w8564.pdf

⊿ln(CV_h) = Σ(w'i'_h * ⊿ln(p'i'_h)) + 0.5ΣΣ(w'i'_h * Es'i''j' * ⊿ln(p'i'_h) * ⊿ln(p'j'_h))

除了按照您的建议格式化的 Es'i''j' 之外的变量已经给出。

【问题讨论】:

  • 个人资料(感谢、签名等)在问题中不合适。

标签: matrix stata


【解决方案1】:

一种方法是使用 Mata:

clear
set more off

// example matrix
matrix E = 1,2,3,4,5,6,7,8,9
matrix list E

// change shape
mata:
Em = st_matrix("E") // take matrix to Mata
Em = colshape(Em,3) // change shape
st_matrix("Es", Em) // take result to Stata
end

// list in Stata
matrix list Es

请参阅help matahelp mata colshapehelp [M-4] manipulation

【讨论】:

  • 感谢您的建议,您的评论非常完美。我又增加了一个问题,我希望你也解决这个问题。再次抱歉我的问题。剑斗
  • 不客气。如果答案解决了您发布的最初问题,那么您可以give closure the Stack Overflow way
  • 请不要在您的原始帖子中插入新的“无关”问题。您可以尝试将其作为不同的问题发布,因为在编程术语中,它与原始问题无关。也就是说,如果您只是通过复制/粘贴此处的内容来提供新帖子,我预测试图提供帮助的人不会对此感兴趣。它甚至可能被认为是题外话。帮助我们帮助您并仔细阅读:stackoverflow.com/help,提出好的问题。
  • 感谢您的建议,很抱歉我不熟悉这个网站。我接受了您的建议,并将问题作为不同的问题发布在下面的链接中。 [stackoverflow.com/questions/27717408/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-02-06
相关资源
最近更新 更多