<acronym id="pokdi"><strong id="pokdi"></strong></acronym>
      <acronym id="pokdi"><label id="pokdi"><xmp id="pokdi"></xmp></label></acronym>

      <td id="pokdi"><ruby id="pokdi"></ruby></td>
      <td id="pokdi"><option id="pokdi"></option></td>
      <td id="pokdi"></td>

        1. 教育裝備采購網
          第八屆圖書館論壇 校體購2

          Stata用putexcel命令來創建Excel表格2:宏,圖片,矩陣和公式表達式

          教育裝備采購網 2017-03-16 17:35 圍觀2499次

          在上一篇文章中,講解了如何在Excel中使用putexcel命令寫出簡單的表達式并且實現文本和單元格的布局。今天,我們講解一下如何寫出更復雜的表達式,比如宏,圖表和矩陣。甚至是如何在Excel中通過編寫公式來創建計算單元。在Excel中,這些是我們實現報表自動生成的重要步驟。

          在開始講解案例前,我先創建一個putexcel2.xlsx的單獨文件,并把每個案例寫到單獨的工作表中。putexcel set命令如下:

          我可以為每個案例創建一個獨立的Excel文件,但是我更喜歡一個文件中包含多個工作表。當你創建大型報表的時候我想你也會喜歡使用這種方法。

          輸入webuse nhanes2可以下載案例中所需的數據集。我將使用數據集的子集并且重新標記一些變量,所以不必介意你的數字是否與我的完全一致。

          案例1將返回結果寫入Excel

          STATA的很多命令可以返回標量,宏和矩陣。我們可以使用putexcel命令將這些寫到一個Excel表中。比如,我可能想把年齡的平均值寫到Excel里,那么我可以在summarize age之后輸入return list來查看返回結果列表。這時平均值被保存在標量r(mean)中。

          設置putexcel2.xlxs中“example 1”工作表的目標文件,然后可以在單元格A1中寫入表達式"Mean Age = ",在單元格B1中寫入表達式`r(mean) '。注意r(mean)要用單引號括起來。這是告訴STATA我想把r(mean)值寫在單元格B2中。

          打開生成的Excel文件,發現平均值已經成功的寫到了單元格B2中。

          案例2:用Excel格式格式化數字

          可以使用Excel格式中的nformat()選項來指定一個數字的顯示格式。比如,可以使用nformat(“#.###”)這個選項使平均值顯示到小數點后三位。

          可以在[P]putexcel advanced選項部分查看到Excel格式選項的完整描述。

          案例3:用STATA設計數字格式

          STATA包含許多快捷格式代碼可與nformat()一起使用。比如,可以使用number_d2選項使平均值顯示到小數點后兩位。

          可以在附錄[P]putexcel中查看完整的數字格式代碼表。

          案例4:用string()功能格式化數字

          我也可以讓平均值和標準偏差輸出在一個單元格內。這個功能可以通過2個步驟實現。首先,將r(mean)和r(sd)分別保存在本地宏meanage和sdage中。string()功能允許我指定到小數點后一位。第二步,創建一個名為meansd的本地宏,將meanage和sdage合并成一個表達式。注意使用putexcel B1 = “`meansd'”命令時必須使用雙引號,因為meansd是一個字符串。

          案例5:在Excel文檔中添加圖表

          我可能希望我的Excel文件中包含一個年齡的柱形圖。首先,創建一個柱形圖并且使用graph export命令將圖表保存成 .png格式文件。

          然后,使用picture(age.png)表達式將圖表放到表格中。

          案例6:為Excel編寫矩陣

          一些STATA命令可以返回矩陣。比如,我可以使用tabstat計算變量列表的描述性統計。Save選項會告訴tabstat將結果保存為矩陣。

          當輸入teturn list命令時,會看到tabstat返回矩陣r(StatTotal)。

          我更愿意創建一個Excel表,看起來像是從summarize輸出的行的變量和列的統計。所以我創建了一個名為results的矩陣,等同于對r(StatTotal)進行置換。

          然后使用matrix(results)表達式在Excel中寫入矩陣results。我使用matrix(r(StatTotal)’)表達式,而不是去創建一個新的矩陣,在寫入Excel之前我想向你們展示轉置矩陣。矩陣的左上角將放在Excel表格的A1單元格中。names選項告訴putexcel運用矩陣寫入Excel行和列的名稱。nformat(number_d2)選項告訴putexcel展示矩陣到小數點后兩位。

          下一步,我想排版一下Excel表格,使它看起來更像一個結果表,而不是一個矩陣。不在單元格中寫入任何內容就可以更改單元格的格式,甚至可以使用語法ul:br對單元格的范圍進行設置,ul在單元格的左上角,br在單元格的右下角。

          單元格B2:B6中每個變量的樣本大小不需要顯示到小數點后兩位,所以我用nformat(number)選項使單元格B2:B6不顯示小數點后兩位。Overwritefmt選項告訴putexcel覆蓋現有的單元格格式。


          然后,設置A1:A6單元格。right選項可以使單元格的內容右對齊,border(right)選項可以為單元格的右側添加邊框。

          可以用類似的方法設置A1:F1單元格。hcenter選項可以使標簽水平居中對齊,border(bottom)選項可以在單元格A1:F1下方增加邊框。

          最后,對B2:F6單元格的數字顯示字體加粗,使表格看起來像summarize輸出的結果。

          排版后的Excel表格看起來是這樣:

          案例7:將回歸系數寫到Excel中

          大多數Stata回歸命令在r(table)的矩陣中返回系數表。比如,可以使用regress擬合以下線性回歸模型。

          并且輸入matlist r(table)來查看系數矩陣。


          r(table)包含df,crit和eform行,這些在回歸輸出時是不顯示的。我想在Excel表中復制系數表,那么我要將r(table)保存到results矩陣中,提取results的前6行,然后對results進行置換。

          現在,可以將results寫入Excel文件中了。

          對字體和單元格格式的一些調整使矩陣看起來更像一個系數表。

          案例8:在Excel中寫入交叉表

          通過使用矩陣我們同樣也可以將結果從tabulate寫入Excel中。 matcell()選項保存矩陣tabulate中的單元格數量。比如,我可以在cellcounts矩陣下面保存tabulate命令結果。

          通過以下步驟可以用sex的值標簽來重新命名cellcounts的行名稱。首先,sex保存為一個數值變量,因此可以使用decode來創建一個名為sex_s字符串變量。如果sex作為字符串變量保存的話那么我們可以省略掉這一步。第二步,使用levelsof保存sex_s的層級到本地宏sexlabels中。然后,使用matrix rownames標記cellcounts行,并把標簽保存到sexlabels。

          同樣的步驟,使用race值標簽來重新命名cellcounts列。

          就像上面2個例子一樣可以把cellcounts寫到Excel里。

          這種方法是可行的,但是Excel表中沒有行和列的合計數量。添加這個的方法就是使用formula()表達式把表中需要計算的單元格放進去。比如,putexcel下面第一行的單元格E2中放入Excel函數SUM(B2:D2)。這個就可以計算表中第一行的表格總數。下面的putexcel命令把公式放入表中計算出行和列的總量。

          可以通過添加標簽和邊框直觀的區分單元格中行和列的總數。同樣也可以通過加粗字體來突出數字。

          Excel表格類似于tabulate輸出的表格。

          使用返回標量,宏,和矩陣,并用putexcel命令在Excel表格中重新創建的Stata輸出是很容易。案例1-7中很好的概括了任意變量,但是在案例8中我硬編碼了變量sex和race行和列的總數。

          點擊進入北京天演融智軟件有限公司展臺查看更多 來源:教育裝備采購網 作者:北京天演融智軟件有限公司 責任編輯:黃磊 我要投稿
          校體購終極頁

          相關閱讀

          版權與免責聲明:

          ① 凡本網注明"來源:教育裝備采購網"的所有作品,版權均屬于教育裝備采購網,未經本網授權不得轉載、摘編或利用其它方式使用。已獲本網授權的作品,應在授權范圍內使用,并注明"來源:教育裝備采購網"。違者本網將追究相關法律責任。

          ② 本網凡注明"來源:XXX(非本網)"的作品,均轉載自其它媒體,轉載目的在于傳遞更多信息,并不代表本網贊同其觀點和對其真實性負責,且不承擔此類作品侵權行為的直接責任及連帶責任。如其他媒體、網站或個人從本網下載使用,必須保留本網注明的"稿件來源",并自負版權等法律責任。

          ③ 如涉及作品內容、版權等問題,請在作品發表之日起兩周內與本網聯系,否則視為放棄相關權利。

          校體購產品
          99久久国产自偷自偷免费一区|91久久精品无码一区|国语自产精品视频在线区|伊人久久大香线蕉av综合

            <acronym id="pokdi"><strong id="pokdi"></strong></acronym>
              <acronym id="pokdi"><label id="pokdi"><xmp id="pokdi"></xmp></label></acronym>

              <td id="pokdi"><ruby id="pokdi"></ruby></td>
              <td id="pokdi"><option id="pokdi"></option></td>
              <td id="pokdi"></td>