# Revision history [back]

The answer to the question of generating row averages can be done simply using the stat command after computing A. Try:

* Compute Averages on entire matrix
* N.B. STAT on a matrix operates over columns so transpose first
matrix AT = A'
stat AT / means=rowmeans
graph rowmeans / nokey


Also it can be done the mechanical way using GENR to convert a vector to a data series as follows:

* Dimension the results vector
dim Averages length
do(# = 1, length)
* Convert column of matrix to a vector
matrix vector=vec(A(#,0))
* Convert a vector to a data series
genr dataVec=vector
* Compute the mean for the single column
stat dataVec / means = rowMean
* Store mean to vector at position #
matrix Averages(#) = rowMean
endo


And check the results are the same as follows:

* Check both are the same
print rowMeans Averages


The answer to the question of asked in the comment above regarding generating row averages can be done simply using the stat command after computing A. Try:

* Compute Averages on entire matrix
* N.B. STAT on a matrix operates over columns so transpose first
matrix AT = A'
stat AT / means=rowmeans
graph rowmeans / nokey


Also it can be done the mechanical way using GENR to convert a vector to a data series as follows:follows but note that process of converting to a data series is also not really required. The STAT command will work on a vector just the same as with a matrix. This is shown mainly to highlight some useful techniques:

* Dimension the results vector
dim Averages length

* Loop through the generated time steps
do(# = 1, length)
* Convert column of matrix to a vector
matrix vector=vec(A(#,0))
* Convert a vector to a data series
genr dataVec=vector
* Compute the mean for the single column
stat dataVec / means = rowMean
* Store mean to vector at position #
matrix Averages(#) = rowMean
endo


And check the results are the same as follows:

* Check both are the same
print rowMeans Averages


The answer to the question asked in the comment above regarding generating row averages can be done simply using the stat STAT command after computing A. Try:

* First transpose the A matrix so that we can use the STAT command, which treats columns as seperate series when used with a matrix:  matrix AT = A'
Compute Averages on entire matrix
* N.B. STAT on a matrix operates over columns so transpose first
matrix AT = A'
the means and store them in a variable called rowMeans: stat AT / means=rowmeans
means=rowMeans
Graph as before using: graph rowmeans rowMeans / nokey
Also it can be done the mechanical way using GENR to convert a vector to a data series as follows but note that process of converting to a data series is also not really required. The STAT command will work on a vector just the same as with a matrix.  This is shown mainly to highlight some useful techniques: * Dimension the results vector
dim Averages length

* Loop through the generated time steps
do(# = 1, length)
* Convert column of matrix to a vector
matrix vector=vec(A(#,0))
* Convert a vector to a data series
genr dataVec=vector
* Compute the mean for the single column
stat dataVec / means = rowMean
* Store mean to vector at position #
matrix Averages(#) = rowMean
endo
And check the results are the same as follows: * Check both are the same
print rowMeans Averages


 4 No.4 Revision updated 2016-04-01 11:00:15 +0000 The answer to the question asked in the comment above regarding generating row averages can be done simply using the STAT command after computing A. First transpose the A matrix so that we can use the STAT command, which treats columns as seperate series when used with a matrix: matrix AT = A' Compute the means and store them in a variable called rowMeans: stat AT / means=rowMeans Graph as before using: graph rowMeans / nokey Also it can be done the mechanical way using GENR to convert a vector to a data series as follows but note that process of converting to a data series is also not really required. The STAT command will work on a vector just the same as with a matrix. This is shown mainly to highlight some useful techniques: * Dimension the results vector dim Averages length * Loop through the generated time steps do(# = 1, length) * Convert column row of matrix to a vector matrix vector=vec(A(#,0)) * Convert a the vector to a data series genr dataVec=vector dataSeries=vector * Compute the mean for the single column data series (row) stat dataVec dataSeries / means = rowMean * Store mean to vector at position # matrix Averages(#) = rowMean endo And check the results are the same as follows: * Check both are the same print rowMeans Averages 


 Copyright SHAZAM Analytics, 2018 Content on this site is licensed under a Creative Commons Attribution Share Alike 3.0 license. about | faq | help | privacy policy | terms of service | give feedback Powered by Askbot version 0.10.2 Please note: SHAZAM Community requires javascript to work properly, please enable javascript in your browser, here is how //IE fix to hide the red margin var noscript = document.getElementsByTagName('noscript')[0]; noscript.style.padding = '0px'; noscript.style.backgroundColor = 'transparent'; askbot['urls']['mark_read_message'] = '/s/messages/markread/'; askbot['urls']['get_tags_by_wildcard'] = '/s/get-tags-by-wildcard/'; askbot['urls']['get_tag_list'] = '/s/get-tag-list/'; askbot['urls']['follow_user'] = '/followit/follow/user/{{userId}}/'; askbot['urls']['unfollow_user'] = '/followit/unfollow/user/{{userId}}/'; askbot['urls']['user_signin'] = '/account/signin/'; askbot['urls']['getEditor'] = '/s/get-editor/'; askbot['urls']['apiGetQuestions'] = '/s/api/get_questions/'; askbot['urls']['ask'] = '/questions/ask/'; askbot['urls']['questions'] = '/questions/'; askbot['settings']['groupsEnabled'] = false; askbot['settings']['static_url'] = '/static/'; askbot['settings']['minSearchWordLength'] = 4; askbot['settings']['mathjaxEnabled'] = true; askbot['settings']['sharingSuffixText'] = 'SHAZAMSoftware'; askbot['settings']['errorPlacement'] = 'after-label'; askbot['data']['maxCommentLength'] = 1000; askbot['settings']['editorType'] = 'markdown'; askbot['settings']['commentsEditorType'] = 'rich\u002Dtext'; askbot['messages']['askYourQuestion'] = 'Ask Your Question'; askbot['messages']['acceptOwnAnswer'] = 'accept or unaccept your own answer'; askbot['messages']['followQuestions'] = 'follow questions'; askbot['settings']['allowedUploadFileTypes'] = [ "jpg", "jpeg", "gif", "bmp", "png", "tiff" ]; askbot['data']['haveFlashNotifications'] = false; askbot['data']['activeTab'] = 'questions'; askbot['settings']['csrfCookieName'] = 'csrftoken'; askbot['data']['searchUrl'] = ''; /*<![CDATA[*/ $('.mceStatusbar').remove();//a hack to remove the tinyMCE status bar$(document).ready(function(){ // focus input on the search bar endcomment var activeTab = askbot['data']['activeTab']; if (inArray(activeTab, ['users', 'questions', 'tags', 'badges'])) { var searchInput = $('#keywords'); } else if (activeTab === 'ask') { var searchInput =$('#id_title'); } else { var searchInput = undefined; animateHashes(); } if (searchInput) { searchInput.focus(); putCursorAtEnd(searchInput); } var haveFullTextSearchTab = inArray(activeTab, ['questions', 'badges', 'ask']); var haveUserProfilePage = $('body').hasClass('user-profile-page'); if ((haveUserProfilePage || haveFullTextSearchTab) && searchInput && searchInput.length) { var search = new FullTextSearch(); askbot['controllers'] = askbot['controllers'] || {}; askbot['controllers']['fullTextSearch'] = search; search.setSearchUrl(askbot['data']['searchUrl']); if (activeTab === 'ask') { search.setAskButtonEnabled(false); } search.decorate(searchInput); } else if (activeTab === 'tags') { var search = new TagSearch(); search.decorate(searchInput); } if (askbot['data']['userIsAdminOrMod']) {$('body').addClass('admin'); } if (askbot['settings']['groupsEnabled']) { askbot['urls']['add_group'] = "/s/add-group/"; var group_dropdown = new GroupDropdown(); $('.groups-dropdown').append(group_dropdown.getElement()); } var userRep =$('#userToolsNav .reputation'); if (userRep.length) { var showPermsTrigger = new ShowPermsTrigger(); showPermsTrigger.decorate(userRep); } }); if (askbot['data']['haveFlashNotifications']) { $('#validate_email_alert').click(function(){notify.close(true)}) notify.show(); } var langNav =$('.lang-nav'); if (langNav.length) { var nav = new LangNav(); nav.decorate(langNav); } /*]]>*/ if (typeof MathJax != 'undefined') { MathJax.Hub.Config({ extensions: ["tex2jax.js"], jax: ["input/TeX","output/HTML-CSS"], tex2jax: {inlineMath: [["$","$"],["\$","\$"]]} }); } else { console.log('Could not load MathJax'); } var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www."); document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E")); try { var pageTracker = _gat._getTracker('UA-3771781-6'); pageTracker._trackPageview(); } catch(err) {} //todo - take this out into .js file $(document).ready(function(){$('div.revision div[id^=rev-header-]').bind('click', function(){ var revId = this.id.substr(11); toggleRev(revId); }); lanai.highlightSyntax(); }); function toggleRev(id) { var arrow = $("#rev-arrow-" + id); var visible = arrow.attr("src").indexOf("hide") > -1; if (visible) { var image_path = '/static/default/media/images/expander-arrow-show.gif?v=1'; } else { var image_path = '/static/default/media/images/expander-arrow-hide.gif?v=1'; } image_path = image_path + "?v=1"; arrow.attr("src", image_path);$("#rev-body-" + id).slideToggle("fast"); } for (url_name in askbot['urls']){ askbot['urls'][url_name] = cleanUrl(askbot['urls'][url_name]); }