The LITI rule for Text Analytics that you didn’t know you needed…until now!
Recent Library Articles
Recently in the SAS Community Library: Customer complaint call transcripts can end up being quite verbose. SAS' @PeterChristie reveals how to distill relevant info using SAS Text Analytics.
First, let me say that I'm a fan of the Reddit community. I've used it to learn tricks about all types of topics, including home improvement and video game secrets. I've also answered SAS questions in some subreddits. However, over the past several months we've seen many old Reddit topics that are copy/pasted into new threads here on the SAS Community.
This isn't Reddit's fault and has nothing to do with the original authors of the topics. Instead, it's an approach by spammers to create what seems like a legitimate topic on the forums, get some credibility for their profile, and then follow it up with other replies that link to unrelated commercial sites.
The trick they use is to select some of the more provocative topics on Reddit, like "why is SAS so difficult" or "Should I learn SAS instead of Python, what do you guys think." We have no objection to authentic questions like these from community members, but we do not allow this inauthentic approach to generating engagement for misleading commercial purposes.
Ours is not the only community that experiences this. Many of our industry peers who manage other communities are reporting that they see the same thing on their forums.
When we spot cases like these we take action. We mark the topic as Spam (to remove it from view) and then we ban the user account that posted it. How can we tell the content came from Reddit? There is a trick you can use with Google search: copy a unique phrase from the post and paste it into a Google search field in quotation marks to find the exact phrase in other internet sites.
In a recent example, a thread contained the phrase "SAS seems astonishingly unintuitive and overly rigid". A search for this exact phrase yielded a single result: a Reddit thread from 2019. That's all I needed to confirm that this was not an authentic post for our community, but an effort to leverage the popularity of our site for an unrelated purpose.
If you see a community post that seems provocative like this, think twice before you respond. Many community members are quick to jump in and advocate for SAS and encourage the original poster to stick with it and learn more...but we'd hate for you to invest time in a reply that gets deleted because the topic was not genuine.
If you see/suspect spam topics like these, use the Report Inappropriate Content menu item on the message to let us know. We can investigate and then take action as needed.
As always, thank you for your advocacy and for helping fellow SAS users on the community!
... View more
Hello ,
How could i find dependency/importance/weightage between Dependent variables in SAS?
Example:
Var1 Var2 Result
1 2 5
3 2 7
in the above example weigtage of var2 is higher because the formala is result=var1+2var2
Thanks,
Mushy
... View more
Hi. I'm SupermanJP. I updated SAS plotter, modern data visualization package for SAS base. https://github.com/Superman-jp/SAS_Plotter document https://superman-jp.github.io/SAS_Plotter/ new features new fill style "quartile" is available on Ridgeline plot macro. "quartile" style can be display the quartile as color gradient. official mail address: sasplotter@picolabs.jp official web site (Japanese) https://picolabs.jp Please feel free to contact me if you have any bug reports, feedback, or requests.
... View more
Hi. I'm SupermanJP. I updated SAS plotter, modern data visualization package for SAS base. https://github.com/Superman-jp/SAS_Plotter document https://superman-jp.github.io/SAS_Plotter/ new features new plots " MultiHistogram" was available! multihitogram is histogram created by each category variable and pair variable. Box width of histogram is reflect the response variable. multihistogram is used for frequency comparison of multiple category in small display area. This macro was designed based on the report of Wierenga, Madison R et al. (https://www.ncbi.nlm.nih.gov/pmc/articles/PMC8140601/.) official mail address: sasplotter@picolabs.jp official web site (Japanese) https://picolabs.jp Please feel free to contact me if you have any bug reports, feedback, or requests.
... View more
I am running PROC MI for multiple imputation for a 5-level categorical variable, "gmfcs_final", which is the only variable in the dataset with missing values. The imputation phase works great (code under "STEP 1"). I then do the 2nd analysis phase (code under "STEP 2"). This analysis is focused purely on estimate the c-statistic with 95% CI for several models based on various covariate sets. This runs well and I output the c-stat and CI in the "auc_2" output file. For the 3rd step, I am unable to figure out what code to run to pool the c-stats and CI appropriately (Rubin's rules?). There seems to be code to get parameter estimates in the PROC MIANALYZE, but that is not the interest of this study. Any idea on the code using the PROC MIANALYZE or other code to get the appropriately pooled c-stats and CI? STEP 1 proc mi data=b seed=1305417 nimpute=65 out=mi_fcs; class gmfcs_final sex race ethnicity smoking_num ins yr_start WCI_score_1cl W1-W25 base_2-base_19 fx1_base fx2_base fx3_base fu_2_5yr_censrsn fu_3_5yr_censrsn fu_4_5yr_censrsn fu_5_5yr_censrsn fu_6_5yr_censrsn fu_7_5yr_censrsn fu_8_5yr_censrsn fu_9_5yr_censrsn fu_10_5yr_censrsn fu_11_5yr_censrsn fu_12_5yr_censrsn fu_13_5yr_censrsn fu_14_5yr_censrsn fu_15_5yr_censrsn fu_16_5yr_censrsn fu_17_5yr_censrsn fu_18_5yr_censrsn fu_19_5yr_censrsn fu_fx1_5yr_censrsn fu_fx2_5yr_censrsn fu_fx3_5yr_censrsn death_5yr_censrsn; var gmfcs_final age sex race ethnicity smoking_num ins yr_start WCI_score_1cl W1-W25 base_2-base_19 fx1_base fx2_base fx3_base fu_2_5yr_censrsn fu_3_5yr_censrsn fu_4_5yr_censrsn fu_5_5yr_censrsn fu_6_5yr_censrsn fu_7_5yr_censrsn fu_8_5yr_censrsn fu_9_5yr_censrsn fu_10_5yr_censrsn fu_11_5yr_censrsn fu_12_5yr_censrsn fu_13_5yr_censrsn fu_14_5yr_censrsn fu_15_5yr_censrsn fu_16_5yr_censrsn fu_17_5yr_censrsn fu_18_5yr_censrsn fu_19_5yr_censrsn fu_fx1_5yr_censrsn fu_fx2_5yr_censrsn fu_fx3_5yr_censrsn death_5yr_censrsn; fcs discrim(gmfcs_final = age sex race ethnicity smoking_num ins yr_start WCI_score_1cl W1-W25 base_2-base_19 fx1_base fx2_base fx3_base fu_2_5yr_censrsn fu_3_5yr_censrsn fu_4_5yr_censrsn fu_5_5yr_censrsn fu_6_5yr_censrsn fu_7_5yr_censrsn fu_8_5yr_censrsn fu_9_5yr_censrsn fu_10_5yr_censrsn fu_11_5yr_censrsn fu_12_5yr_censrsn fu_13_5yr_censrsn fu_14_5yr_censrsn fu_15_5yr_censrsn fu_16_5yr_censrsn fu_17_5yr_censrsn fu_18_5yr_censrsn fu_19_5yr_censrsn fu_fx1_5yr_censrsn fu_fx2_5yr_censrsn fu_fx3_5yr_censrsn death_5yr_censrsn /classeffects=include) nbiter=100; run; STEP 2 proc logistic data=mi_fcs plots(only)=roc; class sex race3 smoking_num ins2 yr_start_cat W24 W25 WCI_score_1cl gmfcs_final; model fu_2_5yr(event='1')=age sex race3 smoking_num ins2 yr_start_cat WCI_score_1cl gmfcs_final / nofit; roc 'Base model' age sex race3 smoking_num ins2 yr_start_cat; roc 'GMFCS only' gmfcs_final; roc 'WCI only' WCI_score_1cl; roc 'Base+GMFCS' gmfcs_final age sex race3 smoking_num ins2 yr_start_cat; roc 'Base+WCI' WCI_score_1cl age sex race3 smoking_num ins2 yr_start_cat; ods output rocassociation=auc_2; by _imputation_; run;
... View more