<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>rss.livelink.threads-in-node</title>
    <link>https://communities.sas.com/</link>
    <description>SAS Support Communities</description>
    <pubDate>Tue, 30 Apr 2024 13:48:13 GMT</pubDate>
    <dc:creator>Community</dc:creator>
    <dc:date>2024-04-30T13:48:13Z</dc:date>
    <item>
      <title>concatenate two macro variables with "/" between them</title>
      <link>https://communities.sas.com/t5/SAS-Programming/concatenate-two-macro-variables-with-quot-quot-between-them/m-p/926446#M364569</link>
      <description>&lt;P&gt;Hello&lt;/P&gt;
&lt;P&gt;I want to concatenate two macro variables with "/" between them.&lt;/P&gt;
&lt;P&gt;I get error 49&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;
%let customer_ID=9872622;
%let branch_Id=987;
%let customer_branch=%sysfunc(cat(&amp;amp;customer_ID.,"/",&amp;amp;branch_Id.));/***9872622/987*****/
%put &amp;amp;customer_branch;
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 30 Apr 2024 11:23:25 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/concatenate-two-macro-variables-with-quot-quot-between-them/m-p/926446#M364569</guid>
      <dc:creator>Ronein</dc:creator>
      <dc:date>2024-04-30T11:23:25Z</dc:date>
    </item>
    <item>
      <title>[SAS/R] 표준편차 - 조건절 활용</title>
      <link>https://communities.sas.com/t5/SAS-Tech-Tip/SAS-R-%ED%91%9C%EC%A4%80%ED%8E%B8%EC%B0%A8-%EC%A1%B0%EA%B1%B4%EC%A0%88-%ED%99%9C%EC%9A%A9/ta-p/926445</link>
      <description>&lt;DIV class="lia-message-template-content-zone"&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs15 se-ff-system  se-style-unset "&gt;본 게시글은 SAS와 R 코드를 비교하는 글로 &lt;/SPAN&gt;&lt;SPAN class="se-fs-fs15 se-ff-system  se-style-unset "&gt;&lt;STRONG&gt;표준편차에 조건절을 활용한 코드&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN class="se-fs-fs15 se-ff-system  se-style-unset "&gt;를 비교하려고 합니다.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs15 se-ff-system  se-style-unset "&gt;​&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs15 se-ff-system  se-style-unset "&gt;​&lt;/SPAN&gt;&lt;/P&gt;
&lt;UL class="se-text-list se-text-list-type-bullet-disc"&gt;
&lt;LI class="se-text-list-item"&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs15 se-ff-system  se-style-unset "&gt;&lt;STRONG&gt;​표준편차(Standard Deviation) &lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs15 se-ff-system se-weight-unset se-style-unset "&gt;​&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs15 se-ff-system se-weight-unset se-style-unset "&gt;표준편차란 평균에 대한 오차입니다. &lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs15 se-ff-system se-weight-unset se-style-unset "&gt;데이터 값이 평균을 기준으로 할 때, 각 데이터가 얼마나 흩어져 있는지를 확인하기 위해 사용됩니다.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs15 se-ff-system se-weight-unset se-style-unset "&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="image (6).png" style="width: 382px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/96043iA7735B389F8619BB/image-size/medium?v=v2&amp;amp;px=400" role="button" title="image (6).png" alt="image (6).png" /&gt;&lt;/span&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV id="SE-5565160a-f483-4a34-ab76-45e629e2d3cd" class="se-component se-image se-l-default"&gt;
&lt;DIV class="se-component-content se-component-content-normal"&gt;
&lt;DIV class="se-section se-section-image se-l-default se-section-align-center"&gt;
&lt;DIV class="se-module se-module-text se-caption"&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-  lia-align-center"&gt;&lt;SPAN class="se-fs- se-ff-   "&gt;첨부: &lt;/SPAN&gt;&lt;SPAN class="se-fs- se-ff- se-weight-unset  "&gt;&lt;A class="se-link" href="https://commons.wikimedia.org/wiki/File:Standard_deviation_illustration.gif" target="_blank" rel="noopener"&gt;https://commons.wikimedia.org/wiki/File:Standard_deviation_illustration.gif&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;DIV id="SE-e743182a-b828-49c7-b000-f8b6795f3dc5" class="se-component se-text se-l-default"&gt;
&lt;DIV class="se-component-content"&gt;
&lt;DIV class="se-section se-section-text se-l-default"&gt;
&lt;DIV class="se-module se-module-text"&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs- se-ff-system se-weight-unset se-style-unset "&gt;​&lt;/SPAN&gt;&lt;/P&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;/DIV&gt;
&lt;DIV class="lia-message-template-content-zone"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV class="lia-message-template-content-zone"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV class="lia-message-template-content-zone"&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs24 se-ff-system   "&gt;&lt;I&gt;&lt;STRONG&gt;Q. basic1.csv 데이터 셋에서 'f4'컬럼 값이 'ENFJ'와 'INFP'인 값들을 필터링 해 각 각 'f1' 칼럼의 표준편차 차이를 절대값으로 출력&lt;/STRONG&gt;&lt;/I&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs- se-ff-system   "&gt;&lt;I&gt;&lt;STRONG&gt;- 사용 데이터 : basic1.csv&lt;/STRONG&gt;&lt;/I&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs- se-ff-system   "&gt;&lt;I&gt;&lt;STRONG&gt;- 칼럼은 id / age / city / f1 / f2 / f3 / f4 / f5로 구성되어 있습니다. &lt;/STRONG&gt;&lt;/I&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs- se-ff-system   "&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="image (7).png" style="width: 773px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/96044i50A929EE8588105B/image-size/large?v=v2&amp;amp;px=999" role="button" title="image (7).png" alt="image (7).png" /&gt;&lt;/span&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&amp;nbsp;&lt;/P&gt;
&lt;H3 class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;STRONG&gt;&lt;SPAN class="se-fs- se-ff-system   "&gt;[R]&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/H3&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;library(dplyr)
df=read.csv('../input/bigdatacertificationkr/basic1.csv')

df %&amp;gt;% 
   filter(f4=='ENFJ' | f4=='INFP') %&amp;gt;% 
   group_by(f4) %&amp;gt;% 
   summarise(value=sd(f1,na.rm=T)) %&amp;gt;% 
   select(value) %&amp;gt;% apply(2,diff) %&amp;gt;% 
   abs&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV id="SE-70e74906-4123-4db7-816a-ed984fc017d4" class="se-component se-text se-l-default"&gt;
&lt;DIV class="se-component-content"&gt;
&lt;DIV class="se-section se-section-text se-l-default"&gt;
&lt;DIV class="se-module se-module-text"&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs15 se-ff-system  se-style-unset "&gt;&lt;STRONG&gt;1. library(dplyr) &lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs15 se-ff-system se-weight-unset se-style-unset "&gt;​&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs15 se-ff-system se-weight-unset se-style-unset "&gt;R은 오픈소스 프로그램으로 많은 유저들이 통계 도구들을 만들어 온라인 상에 무료로 기능을 쓸 수 있게 배포합니다.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs15 se-ff-system se-weight-unset se-style-unset "&gt;​&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs15 se-ff-system se-weight-unset se-style-unset "&gt;패키지를 사용하기 위해서는 1) 패키지를 설치하고 2) 패키지를 로드 합니다. &lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs15 se-ff-system se-weight-unset se-style-unset "&gt;1) insall.package(dplyr): 처음에 패키지를 설치하기 위해서 사용하는 명령문.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs15 se-ff-system se-weight-unset se-style-unset "&gt;2) library(dplyr): 패키지를 설치한 후, 패키지를 불러오기 위한 명령문&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs15 se-ff-system se-weight-unset se-style-unset "&gt;​&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs15 se-ff-system se-weight-unset se-style-unset "&gt;dplyr 이란 패키지를 불러옵니다. &lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs15 se-ff-system se-weight-unset se-style-unset "&gt;dplyr 패키지는 데이터 전처리에 특화된 패키지로 데이터를 처리하는 함수군으로 구성되어 있습니다.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs15 se-ff-system se-weight-unset se-style-unset "&gt;%&amp;gt;% 체인 연산자 기호와 함께 데이터 전처리에서 사용됩니다. &lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs15 se-ff-system se-weight-unset se-style-unset "&gt;​&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs15 se-ff-system se-weight-unset se-style-unset "&gt;​&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs15 se-ff-system  se-style-unset "&gt;&lt;STRONG&gt;2. read.csv&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs15 se-ff-system se-weight-unset se-style-unset "&gt;파일을 불러오는 명령문&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs15 se-ff-system se-weight-unset se-style-unset "&gt;​&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs15 se-ff-system se-weight-unset se-style-unset "&gt;​&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs15 se-ff-system  se-style-unset "&gt;&lt;STRONG&gt;3. group by&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs15 se-ff-system se-weight-unset se-style-unset "&gt;Group by function은 데이터를 그룹화하는데 사용합니다. &lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs15 se-ff-system se-weight-unset se-style-unset "&gt;특정 열을 기준으로 데이터를 그룹화해 집계 함수를 설정하면 그룹 단위의 결과값을 출력합니다. &lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs15 se-ff-system se-weight-unset se-style-unset "&gt;​&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs15 se-ff-system se-weight-unset se-style-unset "&gt;​&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs15 se-ff-system  se-style-unset "&gt;&lt;STRONG&gt;4. summarise&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs15 se-ff-system se-weight-unset se-style-unset "&gt;다양한 통계함수를 사용해서 데이터 셋의 특정 변수에 속한 값들을 하나의 통계값으로 요약하여 출력하는 function입니다. &lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs15 se-ff-system se-weight-unset se-style-unset "&gt;summaize()와 동일한 function으로 평균, 중위값, 최소값, 최대값, 분산, 표준편차, 4분위값, 합계, 빈도수 등을 출력할 수 있습니다. &lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs15 se-ff-system se-weight-unset se-style-unset "&gt;​&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs15 se-ff-system se-weight-unset se-style-unset "&gt;​&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs15 se-ff-system  se-style-unset "&gt;&lt;STRONG&gt;5. apply&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs15 se-ff-system se-weight-unset se-style-unset "&gt;​&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs13 se-ff-system se-weight-unset se-style-unset "&gt;행(Row) 또는 열(Column) 단위의 연산을 쉽게 할 수 있도록 지원하는 함수. &lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs13 se-ff-system se-weight-unset  "&gt;&lt;I&gt;​&lt;/I&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs13 se-ff-system se-weight-unset  "&gt;&lt;I&gt;​&lt;/I&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs13 se-ff-system se-weight-unset  "&gt;&lt;I&gt;* 행(1) 단위로 mean 연산&lt;/I&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;DIV id="SE-5d0de050-fe9d-476b-be95-59071d0b33c5" class="se-component se-code se-l-code_stripe __se-component"&gt;
&lt;DIV class="se-component-content"&gt;
&lt;DIV class="se-section se-section-code se-l-code_stripe"&gt;
&lt;DIV class="se-module se-module-code se-fs-fs13"&gt;
&lt;DIV class="se-code-source"&gt;
&lt;DIV class="__se_code_view language-javascript"&gt;&lt;SPAN class="token se-code-function"&gt;apply&lt;/SPAN&gt;&lt;SPAN class="token se-code-punctuation"&gt;(&lt;/SPAN&gt;iris&lt;SPAN class="token se-code-punctuation"&gt;,&lt;/SPAN&gt; &lt;SPAN class="token se-code-number"&gt;1&lt;/SPAN&gt;&lt;SPAN class="token se-code-punctuation"&gt;,&lt;/SPAN&gt; mean&lt;SPAN class="token se-code-punctuation"&gt;)&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;DIV id="SE-d9f158e2-2264-4b64-ac15-6b65dc41f484" class="se-component se-text se-l-default"&gt;
&lt;DIV class="se-component-content"&gt;
&lt;DIV class="se-section se-section-text se-l-default"&gt;
&lt;DIV class="se-module se-module-text"&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs13 se-ff-system se-weight-unset  "&gt;&lt;I&gt;위 코드는 iris 데이터를 행(1) 단위로 평균값을 구하는 코드입니다.&lt;/I&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs13 se-ff-system se-weight-unset  "&gt;&lt;I&gt;​&lt;/I&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs13 se-ff-system se-weight-unset  "&gt;&lt;I&gt;​&lt;/I&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs13 se-ff-system se-weight-unset  "&gt;&lt;I&gt;* 열(column) 단위로 mean 연산&lt;/I&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;DIV id="SE-0a560028-074d-41af-a0f4-86812ac63bf9" class="se-component se-code se-l-code_stripe __se-component"&gt;
&lt;DIV class="se-component-content"&gt;
&lt;DIV class="se-section se-section-code se-l-code_stripe"&gt;
&lt;DIV class="se-module se-module-code se-fs-fs13"&gt;
&lt;DIV class="se-code-source"&gt;
&lt;DIV class="__se_code_view language-javascript"&gt;&lt;SPAN class="token se-code-function"&gt;apply&lt;/SPAN&gt;&lt;SPAN class="token se-code-punctuation"&gt;(&lt;/SPAN&gt;iris&lt;SPAN class="token se-code-punctuation"&gt;,&lt;/SPAN&gt; &lt;SPAN class="token se-code-number"&gt;2&lt;/SPAN&gt;&lt;SPAN class="token se-code-punctuation"&gt;,&lt;/SPAN&gt; mean&lt;SPAN class="token se-code-punctuation"&gt;)&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;DIV class="ssp-adcontent align_center"&gt;
&lt;DIV id="ssp-adcontent-2" class="ssp_adcontent_inner"&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;H3&gt;&lt;STRONG&gt;[SAS]&lt;/STRONG&gt;&lt;/H3&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;/* 1. */
proc import datafile="/home/u45061472/basic1.csv" out=df
    dbms=csv replace;
    getnames=yes;
run;

/* 2. */
data filtered;
    set df;
    where f4 in ('ENFJ', 'INFP');
run;

/* 3. */
proc means data=filtered noprint;
    class f4;
    var f1;
    output out=sd_values std=sd_f1;
run;

/* 4 */
data diff_sd;
    set sd_values;
    diff_sd = abs(sd_f1_ENFJ - sd_f1_INFP);
run;

/* 5. */
proc print data=diff_sd noobs;
    var diff_sd;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs15 se-ff-system  se-style-unset "&gt;&lt;STRONG&gt;1. PROC IMPORT&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN class="se-fs-fs15 se-ff-system   "&gt;&lt;I&gt;&lt;STRONG&gt;​&lt;/STRONG&gt;&lt;/I&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs15 se-ff-system se-weight-unset se-style-unset "&gt;외부 데이터를 불러오는 명령문입니다. &lt;/SPAN&gt;&lt;/P&gt;
&lt;UL class="se-text-list se-text-list-type-bullet-disc"&gt;
&lt;LI class="se-text-list-item"&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs15 se-ff-system se-weight-unset se-style-unset "&gt;DATA = : 파일 위치 또는 파일명을 지정.&lt;/SPAN&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;LI class="se-text-list-item"&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs15 se-ff-system se-weight-unset se-style-unset "&gt;DBMS = : 파일 형식을 설정.&lt;/SPAN&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;LI class="se-text-list-item"&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs15 se-ff-system se-weight-unset se-style-unset "&gt;OUT = : 원본 데이터는 그대로 유지되고, 원하는 데이터 형식의 데이터를 생성합니다. &lt;/SPAN&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;LI class="se-text-list-item"&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs15 se-ff-system se-weight-unset se-style-unset "&gt;REPLACE : 이미 데이터가 존재하면 데이터 세트를 덮어쓰는 것 입니다. 코드를 실행할 때마다 데이터 세트의 이름을 변경하거나 삭제할 필요가 없어서 실행 단계를 단순화 할 수 있습니다.&lt;/SPAN&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs15 se-ff-system se-weight-unset se-style-unset "&gt;​&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs15 se-ff-system se-weight-unset se-style-unset "&gt;​&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs15 se-ff-system  se-style-unset "&gt;&lt;STRONG&gt;2. Data filtered&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN class="se-fs-fs15 se-ff-system se-weight-unset se-style-unset "&gt;​&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs15 se-ff-system se-weight-unset se-style-unset "&gt;새로운 filtered 라는 새로운 데이터셋을 생성합니다. &lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs15 se-ff-system se-weight-unset se-style-unset "&gt;set df: 기존에 있던 df 데이터 셋을 읽습니다. &lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs15 se-ff-system se-weight-unset se-style-unset "&gt;where f4 in ('ENFJ', 'INFP'): f4칼럼이 ENFJ 또는 INFP인 행들만 선택하는 조건절 입니다. &lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs15 se-ff-system se-weight-unset se-style-unset "&gt;​&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs15 se-ff-system se-weight-unset se-style-unset "&gt;​&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs15 se-ff-system se-weight-unset se-style-unset "&gt;​&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs15 se-ff-system  se-style-unset "&gt;&lt;STRONG&gt;3. Proc means&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs15 se-ff-system se-weight-unset se-style-unset "&gt;데이터의 통계요약을 보여주는 명령문입니다. &lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs15 se-ff-system se-weight-unset se-style-unset "&gt;noprint: 결과를 출력하지 않도록 설정합니다.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs15 se-ff-system se-weight-unset se-style-unset "&gt;class f4: 그룹변수로 f4칼럼을 설정합니다. f4 변수의 각 범주에 대한 통계량을 계산합니다. &lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs15 se-ff-system se-weight-unset se-style-unset "&gt;var f1: 분석할 변수를 세팅합니다. &lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs15 se-ff-system se-weight-unset se-style-unset "&gt;​&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs15 se-ff-system  se-style-unset "&gt;&lt;STRONG&gt;​&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs15 se-ff-system  se-style-unset "&gt;&lt;STRONG&gt;​&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs15 se-ff-system  se-style-unset "&gt;&lt;STRONG&gt;4. Data diff_ed ~ &lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN class="se-fs-fs15 se-ff-system se-weight-unset se-style-unset "&gt;​&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs15 se-ff-system se-weight-unset se-style-unset "&gt;set sd_values: sd_values라는 데이터 셋을 하나씩 읽어옵니다.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs15 se-ff-system se-weight-unset se-style-unset "&gt;diff_Sd = abs(sd_f1_enfj - sd_f1_infp): ENFJ 그룹과 INFP 그룹의 표준편차를 계산합니다.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&amp;nbsp;&lt;/P&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&amp;nbsp;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="image.png" style="width: 999px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/96045iC6DE26E5508E74EC/image-size/large?v=v2&amp;amp;px=999" role="button" title="image.png" alt="image.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;/DIV&gt;</description>
      <pubDate>Tue, 30 Apr 2024 11:21:49 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Tech-Tip/SAS-R-%ED%91%9C%EC%A4%80%ED%8E%B8%EC%B0%A8-%EC%A1%B0%EA%B1%B4%EC%A0%88-%ED%99%9C%EC%9A%A9/ta-p/926445</guid>
      <dc:creator>AmeeKang</dc:creator>
      <dc:date>2024-04-30T11:21:49Z</dc:date>
    </item>
    <item>
      <title>[SAS/R] 결측치 제거 - Group by Sum</title>
      <link>https://communities.sas.com/t5/SAS-Tech-Tip/SAS-R-%EA%B2%B0%EC%B8%A1%EC%B9%98-%EC%A0%9C%EA%B1%B0-Group-by-Sum/ta-p/926440</link>
      <description>&lt;DIV class="lia-message-template-content-zone"&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify se-is-text-paragraph-block-selected"&gt;&lt;SPAN class="se-ff-system se-fs19 __se-node"&gt;&lt;STRONG&gt; 게시글은 SAS와 R언어를 활용하여 데이터 셋의 결측치를 제거하고, a 칼럼별의 조건 값을 기준으로 b칼럼(수치형)의 합계 (group by sum)를 구하고자 한다. &lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify se-is-text-paragraph-block-selected"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify se-is-text-paragraph-block-selected"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify se-is-text-paragraph-block-selected"&gt;&lt;SPAN class="se-ff-system se-fs15 se-highlight __se-node"&gt;&lt;MARK&gt;&lt;I&gt;&lt;STRONG&gt;Q. basic1.csv 데이터셋 에서 'f1'컬럼 결측 데이터를 제거하고, city'와 'f2'을 기준으로 묶어 합계를 출력합니다.&lt;/STRONG&gt;&lt;/I&gt;&lt;/MARK&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify se-is-text-paragraph-block-selected"&gt;&lt;SPAN class="se-ff-system se-fs15 se-highlight __se-node"&gt;&lt;MARK&gt;&lt;I&gt;&lt;STRONG&gt; 또한, 'city가 경기이면서 f2가 0'인 조건에 만족하는 f1 값을 출력. &lt;/STRONG&gt;&lt;/I&gt;&lt;/MARK&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify se-is-text-paragraph-block-selected"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify se-is-text-paragraph-block-selected"&gt;&amp;nbsp;&lt;/P&gt;
&lt;H3 class="se-text-paragraph se-text-paragraph-align-justify se-is-text-paragraph-block-selected"&gt;&lt;STRONG&gt;[SAS]&lt;/STRONG&gt;&lt;/H3&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify se-is-text-paragraph-block-selected"&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;library(dplyr)
df=read.csv('../input/bigdatacertificationkr/basic1.csv')

df %&amp;gt;% 
   filter(!is.na(f1)) %&amp;gt;% 
   group_by(city,f2) %&amp;gt;% 
   summarise(value=sum(f1)) %&amp;gt;% 
   filter(city=='경기' &amp;amp; f2==0) %&amp;gt;% 
   data.frame %&amp;gt;% select(value)&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify se-is-text-paragraph-block-selected"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify se-is-text-paragraph-block-selected"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify se-is-text-paragraph-block-selected"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;1. library(dplyr)&lt;/STRONG&gt;​&lt;/P&gt;
&lt;P&gt;R은 오픈소스 프로그램으로 많은 유저들이 통계 도구들을 만들어 온라인 상에 무료로 기능을 쓸 수 있게 배포합니다.&lt;/P&gt;
&lt;P&gt;​&lt;/P&gt;
&lt;P&gt;패키지를 사용하기 위해서는 1) 패키지를 설치하고 2) 패키지를 로드 합니다.&lt;/P&gt;
&lt;P&gt;1) insall.package(dplyr): 처음에 패키지를 설치하기 위해서 사용하는 명령문.&lt;/P&gt;
&lt;P&gt;2) library(dplyr): 패키지를 설치한 후, 패키지를 불러오기 위한 명령문&lt;/P&gt;
&lt;P&gt;​&lt;/P&gt;
&lt;P&gt;dplyr 이란 패키지를 불러옵니다.&lt;/P&gt;
&lt;P&gt;dplyr 패키지는 데이터 전처리에 특화된 패키지로 데이터를 처리하는 함수군으로 구성되어 있습니다.&lt;/P&gt;
&lt;P&gt;%&amp;gt;% 체인 연산자 기호와 함께 데이터 전처리에서 사용됩니다.&lt;/P&gt;
&lt;P&gt;​​&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;2. read.csv&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;파일을 불러오는 명령문&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;3. Filter&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;하나 이상의 조건 값만을 데이터로 필터링 해서 결과값을 출력합니다.&lt;/P&gt;
&lt;P&gt;한가지 조건일 수도 있고 두 가지 이상의 조건일 수도 있습니다.&lt;/P&gt;
&lt;P&gt;두 가지 조건값이게 되면 '&amp;amp;' (and) '|' (or) 등과 같은 수학기호 연산자를 사용해서 조건 값을 늘려나갈 수 있습니다.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;df %&amp;gt;%
  filter(salary %in% c(18, 634, 1322)&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;위 %in% function은 여러개의 데이터를 불러올 때 사용합니다.&lt;/P&gt;
&lt;P&gt;Salary의 칼럼 중 18, 634, 1332의 값만을 필터링 하게 됩니다.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;df %&amp;gt;% 
   filter(!is.na(f1)) %&amp;gt;%&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;is.na() 는 NA값을 표시하고, !is.na는 NA값을 제가 합니다.&lt;BR /&gt;즉, NA값이 아닌 데이터만을 필터링하게 됩니다.&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;&lt;STRONG&gt;4. group by&lt;/STRONG&gt;&lt;BR /&gt;Group by function은 데이터를 그룹화하는데 사용합니다.&lt;BR /&gt;특정 열을 기준으로 데이터를 그룹화해 집계 함수를 설정하면 그룹 단위의 결과값을 출력합니다.&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;&lt;STRONG&gt;5. summarise&lt;/STRONG&gt;&lt;BR /&gt;다양한 통계함수를 사용해서 데이터 셋의 특정 변수에 속한 값들을 하나의 통계값으로 요약하여 출력하는 function입니다.&lt;BR /&gt;summaize()와 동일한 function으로 평균, 중위값, 최소값, 최대값, 분산, 표준편차, 4분위값, 합계, 빈도수 등을 출력할 수 있습니다.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H3&gt;&lt;STRONG&gt;&amp;nbsp;[SAS]&amp;nbsp;&lt;/STRONG&gt;&lt;/H3&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;/* 1. */
proc import datafile='/home/u45061472/basic1.csv'
            out=mydata
            dbms=csv
            replace;
run;

/* 2. */
data cleaned_data;
    set mydata;
    where not missing(f1);
run;

/* 3. */
proc summary data=cleaned_data nway;
    class city f2;
    var f1;
    output out=sum_data sum=total_f1;
run;

/* 4.  */
proc print data=sum_data;
    title 'Sum of f1 grouped - city and f2';
    var city f2 total_f1;
run;

/* 5.  */
data filtered_data;
    set mydata;
    if city='경기' and f2=0;
run;

proc print data=filtered_data;
    title 'Values of f1 where city is 경기 and f2 is 0';
    var f1;
run;
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&lt;BR /&gt;&lt;STRONG&gt;1. Proc Import&lt;/STRONG&gt;&lt;BR /&gt;​외부 데이터를 불러오기 위한 명령문 입니다.&lt;BR /&gt;DBMS: 로드할 파일 형식&lt;BR /&gt;OUT: sas 내부에 있는 work라이브러리의 mydata라는 셋을 만든다. 라는 의미를 갖고 있습니다.&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;&lt;STRONG&gt;2. Data Cleaned_data~&lt;/STRONG&gt;&lt;BR /&gt;새로운 데이터셋인 Cleaned_Data를 만듭니다.&lt;BR /&gt;set mydata: mydata 셋을 순차적으로 읽습니다.&lt;BR /&gt;where not missing(f1): where 은 조건절로 데이터 필터링에 사용하는 function입니다. not missing은 결측치가 아닌 값들을 출력하는 명령어 입니다.&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;&lt;STRONG&gt;3. Proc Summary&lt;/STRONG&gt;&lt;BR /&gt;데이터의 요약 통계를 생성하는데 사용합니다.&lt;BR /&gt;수치형 변수에 대한 평균, 중앙값, 합계, 최소값, 최대값 등의 통계량을 출력합니다.&lt;BR /&gt;nway: nway를 사용하지 않을 경우에는 지정된 변수들의 모든 가능한 조합에 대한 요약 통계량이 생성되지만, nway를 설정한 경우에는 class 문에 지정된 그룹 변수들을 기준으로 데이터를 그룹화하고 각 그룹에 대한 요약 통계량들을 생성합니다.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="image.png" style="width: 241px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/96041i0B21E83DABAF0A59/image-size/large?v=v2&amp;amp;px=999" role="button" title="image.png" alt="image.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="image.png" style="width: 300px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/96042iBEFB78460E9FF7D5/image-size/large?v=v2&amp;amp;px=999" role="button" title="image.png" alt="image.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;/DIV&gt;</description>
      <pubDate>Tue, 30 Apr 2024 11:09:06 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Tech-Tip/SAS-R-%EA%B2%B0%EC%B8%A1%EC%B9%98-%EC%A0%9C%EA%B1%B0-Group-by-Sum/ta-p/926440</guid>
      <dc:creator>AmeeKang</dc:creator>
      <dc:date>2024-04-30T11:09:06Z</dc:date>
    </item>
    <item>
      <title>Format proc report to output dates in excel using ods excel</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Format-proc-report-to-output-dates-in-excel-using-ods-excel/m-p/926436#M364567</link>
      <description>&lt;P&gt;I am attempting to output an excel (xlsx) file using ods excel from a proc output. My variables are in date9. format in the SAS data set, but when they output to excel they are in a text format.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This is my code:&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV&gt;ods excel file="\\xxxmyfilelocation\Events_%sysfunc(date(),yymmddd10.).xlsx" style=forNESUG options (FLOW='Tables');&lt;/DIV&gt;&lt;DIV&gt;ods excel options (zoom='80' sheet_name='Tracker');&lt;/DIV&gt;&lt;DIV&gt;proc report data=tracker nowd split= "_" style(column)=[JUST=LEFT VJUST=TOP FONT=(Calibri, 11pt, NORMAL) BORDERSTYLE=SOLID BORDERCOLOR=black]&lt;/DIV&gt;&lt;DIV&gt;style(header)=[BACKGROUNDCOLOR=light grey FONT=(Calibri, 11pt, BOLD) JUST=CENTER VJUST=TOP&amp;nbsp; BORDERSTYLE=SOLID BORDERCOLOR=black];&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;column &lt;/SPAN&gt;&lt;SPAN&gt;Initial_Code_Date Initial_Attribution_Date Initial_SO_Coverage&lt;/SPAN&gt;&lt;SPAN&gt; Date_of_AE_status_Evaluated Initial_Rep_event_became_SAE Type_of_SAE Final_attribution Study_RX_held Treatment_rechallenged Treatment_Permanently_Discontinu Status_AE&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt; SO_FU_Log_Comments AF_summary_comments Final_MedDRA_code Final_MedDRA_LLT FINAL_Code_Date Final_Attribution_Date FU_SO_Coverage Initial_site_email_archived_&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt; Final_site_email_archived_ Completed_pharma_reporting_ Closed SO_closed_AE Close_Date Teaching_example Tracker_run_date;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;STRONG&gt;define Initial_Code_Date/'Initial Code Date' style={background=lightyellow color=black};&amp;nbsp;&amp;nbsp;&lt;/STRONG&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;STRONG&gt;define Initial_Attribution_Date/'Initial Attribution Date' style={background=lightyellow color=black};&amp;nbsp;&lt;/STRONG&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;define FINAL_Code_Date/'Final Code Date'&amp;nbsp; style={background=lightyellow color=black};&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;define Final_Attribution_Date/'Final Attribution Date' style={background=lightyellow color=black};&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;define SO_Log_Comments/'SO Log Comments' style(column) = [just=left cellwidth=3in background=lightyellow color=black] style(header)=Header{background=lightyellow color=black};&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;define SO_FU_Log_Comments/'SO FU Log Comments' style(column) = [just=left cellwidth=3in background=lightyellow color=black] style(header)=Header{background=lightyellow color=black};&amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;define Reas_NonReportable_AE/'Reas NonReportable AE' style(column) = [just=left cellwidth=0.5in background=lightyellow color=black] style(header)=Header{background=lightyellow color=black};&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;define Teaching_example/'Teaching example' style={background=lightyellow color=black};&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;define Closed/'Closed' style={background=lightyellow color=black};&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;define SO_closed_AE/'SO closed AE' style={background=lightyellow color=black};&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;define Close_Date/style={background=lightyellow color=black};&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;options missing=" ";&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;format Initial_Code_Date date11. Initial_Attribution_Date date11. Final_Code_Date date11. Final_Attribution_Date date11. Close_Date date11.;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;run;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;I think the issue is my define statement, because the last block of code which exports to a different sheet in the excel workbook exports the date correctly and there is no define statement.&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;proc report data=sites nowd split= "_" style(column)=[BACKGROUNDCOLOR=white JUST=LEFT VJUST=TOP FONT=(Calibri, 11pt, NORMAL) BORDERSTYLE=SOLID BORDERCOLOR=black]&lt;BR /&gt;style(header)=[BACKGROUNDCOLOR=light grey FONT=(Calibri, 11pt, BOLD) JUST=CENTER VJUST=TOP BORDERSTYLE=SOLID BORDERCOLOR=black];&lt;BR /&gt;column SiteNo Name Status Country &lt;STRONG&gt;Status_Date&lt;/STRONG&gt; Note;&lt;BR /&gt;&lt;STRONG&gt;format Status_Date date11.;&lt;/STRONG&gt;&lt;BR /&gt;run;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Any suggestions?&amp;nbsp;&lt;/DIV&gt;</description>
      <pubDate>Tue, 30 Apr 2024 12:56:04 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Format-proc-report-to-output-dates-in-excel-using-ods-excel/m-p/926436#M364567</guid>
      <dc:creator>Kia_B</dc:creator>
      <dc:date>2024-04-30T12:56:04Z</dc:date>
    </item>
    <item>
      <title>Can we prevent publishing intelligent decision with the same name if publishers are different users?</title>
      <link>https://communities.sas.com/t5/Decisioning/Can-we-prevent-publishing-intelligent-decision-with-the-same/m-p/926435#M93</link>
      <description>&lt;P&gt;Hi guys!&lt;/P&gt;
&lt;P&gt;I use SAS viya and my environment has many users. I want to publish a decision, and want it to be replaced if the published name is the same as &lt;EM&gt;&lt;STRONG&gt;my&lt;/STRONG&gt;&lt;/EM&gt; old published decision. I know we can press "Replace item with the same name"&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Mayt_0-1714474389838.png" style="width: 400px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/96040i45A6529A7B45EB41/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Mayt_0-1714474389838.png" alt="Mayt_0-1714474389838.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;But can we prevent publishing if &lt;EM&gt;&lt;STRONG&gt;another user&lt;/STRONG&gt;&lt;/EM&gt; want to publish it with the same name like mine?&lt;/P&gt;
&lt;P&gt;Thank you in advance!&lt;/P&gt;</description>
      <pubDate>Tue, 30 Apr 2024 10:57:15 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Decisioning/Can-we-prevent-publishing-intelligent-decision-with-the-same/m-p/926435#M93</guid>
      <dc:creator>Mayt</dc:creator>
      <dc:date>2024-04-30T10:57:15Z</dc:date>
    </item>
    <item>
      <title>[SAS/R] 왜도와 첨도</title>
      <link>https://communities.sas.com/t5/SAS-Tech-Tip/SAS-R-%EC%99%9C%EB%8F%84%EC%99%80-%EC%B2%A8%EB%8F%84/ta-p/926433</link>
      <description>&lt;DIV class="lia-message-template-content-zone"&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs- se-ff-system   "&gt;본 게시글은 SAS와 R 코드를 비교하는 글로 &lt;/SPAN&gt;&lt;SPAN class="se-fs- se-ff-system   "&gt;&lt;STRONG&gt;왜도와 첨도를 구하는 방법&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN class="se-fs- se-ff-system   "&gt;을 비교하려고 합니다.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs15 se-ff-system  se-style-unset "&gt;​&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs- se-ff-system   "&gt;​&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs- se-ff-system   "&gt;​&lt;/SPAN&gt;&lt;/P&gt;
&lt;UL class="se-text-list se-text-list-type-bullet-disc"&gt;
&lt;LI class="se-text-list-item"&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs- se-ff-system   "&gt;&lt;STRONG&gt;왜도(skewness)&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs- se-ff-system   "&gt;​&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs- se-ff-system   "&gt;분포의 비대칭도를 나타내는 통계량으로 정규분포, T분포와 같이 대칭인 분포는 왜도가 0입니다.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs- se-ff-system   "&gt;왼쪽으로 긴 꼬리를 가지면 왜도는 음수 값을 가지고 오른쪽으로 긴 꼬리를 가지면 왜도는 양수 값을 가지게 됩니다. &lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs- se-ff-system   "&gt;꼬리 부분쪽에 많은 확률 값이 분포할 수록 왜도의 절대값은 커지게 됩니다.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs- se-ff-system   "&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="image (3).png" style="width: 773px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/96037iF156958180907303/image-size/large?v=v2&amp;amp;px=999" role="button" title="image (3).png" alt="image (3).png" /&gt;&lt;/span&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV id="SE-ebf9df91-5fe7-444c-a126-3a44fc37de44" class="se-component se-image se-l-default"&gt;
&lt;DIV class="se-component-content se-component-content-fit"&gt;
&lt;DIV class="se-section se-section-image se-l-default se-section-align-justify"&gt;
&lt;DIV class="se-module se-module-text se-caption"&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-  lia-align-center"&gt;&lt;SPAN class="se-fs- se-ff-   "&gt;참조: &lt;/SPAN&gt;&lt;SPAN class="se-fs- se-ff-   "&gt;&lt;A class="se-link" href="https://en.wikipedia.org/wiki/Skewness" target="_blank" rel="noopener"&gt;https://en.wikipedia.org/wiki/Skewness&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;DIV id="SE-4d4302b9-74fe-4e17-9327-1eb992c62b4b" class="se-component se-text se-l-default"&gt;
&lt;DIV class="se-component-content"&gt;
&lt;DIV class="se-section se-section-text se-l-default"&gt;
&lt;DIV class="se-module se-module-text"&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify  lia-align-center"&gt;&lt;SPAN class="se-fs- se-ff-system   "&gt;​&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs- se-ff-system   "&gt;​&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs- se-ff-system   "&gt;​&lt;/SPAN&gt;&lt;/P&gt;
&lt;UL class="se-text-list se-text-list-type-bullet-disc"&gt;
&lt;LI class="se-text-list-item"&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs- se-ff-system   "&gt;&lt;STRONG&gt;첨도(Kurtosis)&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs- se-ff-system se-weight-unset  "&gt;​&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs- se-ff-system se-weight-unset  "&gt;정규분포보다 얼마나 뾰족하거나 완만한지의 정도를 나타내는 척도입니다.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs- se-ff-system se-weight-unset  "&gt;데이터가 중심에 많이 몰려 있을수록 뾰족한 모양이 되고, 고루고루 퍼지게 되면 넓게 퍼진 모양이 되게 됩니다. &lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs- se-ff-system se-weight-unset  "&gt;데이터의 산포경향을 보여주기도 하며 중심에 얼마다 데이터가 집중적으로 몰려 있는가를 나타냅니다.&lt;/SPAN&gt;&lt;/P&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs- se-ff-system   "&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="image (4).png" style="width: 773px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/96038iF02CAABD82CC02DC/image-size/large?v=v2&amp;amp;px=999" role="button" title="image (4).png" alt="image (4).png" /&gt;&lt;/span&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs19 se-ff-system   "&gt;&lt;I&gt;&lt;STRONG&gt;Q. train.csv에서 'SalePrice'컬럼의 왜도와 첨도를 구한 값과&lt;/STRONG&gt;&lt;/I&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs19 se-ff-system   "&gt;&lt;I&gt;&lt;STRONG&gt;SalePrice'컬럼을 스케일링(log1p)로 변환한 이후 왜도와 첨도를 구해 모두 더한 &lt;/STRONG&gt;&lt;/I&gt;&lt;/SPAN&gt;&lt;SPAN class="se-fs-fs19 se-ff-system   "&gt;&lt;I&gt;&lt;STRONG&gt;다음 소수점 2째자리까지 출력&lt;/STRONG&gt;&lt;/I&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs13 se-ff-system   "&gt;&lt;I&gt;&lt;STRONG&gt;​&lt;/STRONG&gt;&lt;/I&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs19 se-ff-system   "&gt;&lt;I&gt;&lt;STRONG&gt;&amp;gt; House Prices 의 train 데이터를 사용합니다. &lt;/STRONG&gt;&lt;/I&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&amp;nbsp;&lt;/P&gt;
&lt;H3 class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs19 se-ff-system   "&gt;&lt;SPAN class="se-fs-fs24 se-ff-system  se-style-unset "&gt;&lt;STRONG&gt;[R]&lt;/STRONG&gt;&lt;/SPAN&gt; &lt;/SPAN&gt;&lt;/H3&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;library(e1071)
library(dplyr)

df &amp;lt;- read.csv('/content/sample_data/train.csv')

df %&amp;gt;%
  mutate(
  log_sp = log1p(SalePrice)
  ) %&amp;gt;%
  summarise(
  before_kur=kurtosis(SalePrice,type=2),
  before_ske=skewness(SalePrice,type=2),
  after_kur=kurtosis(log_sp,type=2),
  after_ske=skewness(log_sp,type=2)) %&amp;gt;% 
  sum&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs15 se-ff-system  se-style-unset "&gt;&lt;STRONG&gt;1. library(dplyr) &lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs15 se-ff-system  se-style-unset "&gt;R은 오픈소스 프로그램으로 많은 유저들이 통계 도구들을 만들어 온라인 상에 무료로 기능을 쓸 수 있게 배포합니다.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs15 se-ff-system  se-style-unset "&gt;​&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs15 se-ff-system  se-style-unset "&gt;패키지를 사용하기 위해서는 1) 패키지를 설치하고 2) 패키지를 로드 합니다. &lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs15 se-ff-system  se-style-unset "&gt;1) insall.package(dplyr): 처음에 패키지를 설치하기 위해서 사용하는 명령문.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs15 se-ff-system  se-style-unset "&gt;2) library(dplyr): 패키지를 설치한 후, 패키지를 불러오기 위한 명령문&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs15 se-ff-system  se-style-unset "&gt;​&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs15 se-ff-system  se-style-unset "&gt;dplyr 이란 패키지를 불러옵니다. &lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs15 se-ff-system  se-style-unset "&gt;dplyr 패키지는 데이터 전처리에 특화된 패키지로 데이터를 처리하는 함수군으로 구성되어 있습니다.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs15 se-ff-system  se-style-unset "&gt;%&amp;gt;% 체인 연산자 기호와 함께 데이터 전처리에서 사용됩니다. &lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs15 se-ff-system  se-style-unset "&gt;​&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs15 se-ff-system  se-style-unset "&gt;​&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs15 se-ff-system  se-style-unset "&gt;&lt;STRONG&gt;2. read.csv&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs15 se-ff-system  se-style-unset "&gt;파일을 불러오는 명령문&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs15 se-ff-system  se-style-unset "&gt;​&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs15 se-ff-system  se-style-unset "&gt;​&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs15 se-ff-system  se-style-unset "&gt;&lt;STRONG&gt;3. log1p&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs15 se-ff-system se-weight-unset se-style-unset "&gt;데이터에 로그를 취하게 되면, 정규성을 높일 수 있다. &lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs15 se-ff-system se-weight-unset se-style-unset "&gt;큰 수를 같은 비율의 작은 수로 바꿔주게 된다. &lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs15 se-ff-system se-weight-unset se-style-unset "&gt;즉, 로그를 취하게 되면복잡한 계산을 지수로 변하게 되기 때문에 값이 작아지게 됩니다. &lt;/SPAN&gt;&lt;SPAN class="se-fs-fs15 se-ff-system  se-style-unset "&gt;&lt;STRONG&gt;​&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs15 se-ff-system  se-style-unset "&gt;&lt;STRONG&gt;또한 로그를 취하게 되면서 왜도와 첨도를 줄여서 데이터 분석시 의미있는 결과를 도출합니다.&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs15 se-ff-system  se-style-unset "&gt;&lt;STRONG&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="image (5).png" style="width: 431px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/96039i2883C304EADCB34A/image-size/large?v=v2&amp;amp;px=999" role="button" title="image (5).png" alt="image (5).png" /&gt;&lt;/span&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs- se-ff-system se-weight-unset se-style-unset "&gt;위 그림은 로그함수로 0 &amp;lt; x &amp;lt; 1 범위에서 기울기가 매우 가파른 것을 확인할 수 있습니다.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs- se-ff-system se-weight-unset se-style-unset "&gt;x의 구간은 (0,1)로 매우 짧은 반면, y의 구간은 (-∞,0)으로 매우 큽니다.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs- se-ff-system se-weight-unset se-style-unset "&gt;0에 가깝게 모여 있는 값들이 x로 입력되면 y값들은 큰 범위로 벌어지게 됩니다.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs- se-ff-system se-weight-unset se-style-unset "&gt;​&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs15 se-ff-system  se-style-unset "&gt;&lt;STRONG&gt;​&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs15 se-ff-system  se-style-unset "&gt;&lt;STRONG&gt;log변환에 +1 을 해주는 function 이 log1p입니다.&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs15 se-ff-system  se-style-unset "&gt;&lt;STRONG&gt;log안의 x값은 양수만 가능합니다.&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs15 se-ff-system  se-style-unset "&gt;&lt;STRONG&gt;하지만, 0에 가까운 양수의 경우 음의 무한대로 가까워지게 됩니다. &lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs15 se-ff-system  se-style-unset "&gt;&lt;STRONG&gt;x값이 매우 작은 값으로 들어가게 되면 -Inf 로 결과가 출력됩니다.&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs15 se-ff-system  se-style-unset "&gt;&lt;STRONG&gt;이를 방지하기 위해 1을 더함으로써 0보다 큰 양수 값을 가지게 됩니다.&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs15 se-ff-system  se-style-unset "&gt;&lt;STRONG&gt;​&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs15 se-ff-system  se-style-unset "&gt;&lt;STRONG&gt;​&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs15 se-ff-system  se-style-unset "&gt;&lt;STRONG&gt;4. &lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN class="se-fs- se-ff-system  se-style-unset "&gt;&lt;STRONG&gt;Kurtosis / Skewness &lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs- se-ff-system se-weight-unset se-style-unset "&gt;kurtosis와 skewness는 e1071 library 안에 있는 왜도와 첨도를 구하는 function입니다. &lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs- se-ff-system se-weight-unset se-style-unset "&gt;type은 2를 사용해서 정규분포에서 비편향적입니다. &lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs- se-ff-system se-weight-unset se-style-unset "&gt;​&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs- se-ff-system se-weight-unset se-style-unset "&gt;​&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs- se-ff-system se-weight-unset se-style-unset "&gt;​&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs24 se-ff-system  se-style-unset "&gt;&lt;STRONG&gt;[SAS]&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;/* 1. */
proc import datafile='/home/u45061472/train.csv'
            out=mydata
            dbms=csv
            replace;
run;

/* 2. */
proc means data=mydata n mean std skewness kurtosis;
    var Log_SalePrice;
run;

/*3.*/
data mydata;
    set mydata;
    Log_SalePrice = log1p(SalePrice);
run;


/* 4. */
proc means data=mydata n mean std skewness kurtosis;
    var Log_SalePrice;
run;

/*5./
data stats_sum;
    set stats;
    Sum_Skewness_Kurtosis = Skewness + Kurtosis;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&amp;nbsp;&lt;/P&gt;
&lt;OL class="se-text-list se-text-list-type-decimal"&gt;
&lt;LI class="se-text-list-item"&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs15 se-ff-system  se-style-unset "&gt;&lt;STRONG&gt;PROC IMPORT&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;/OL&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs15 se-ff-system   "&gt;&lt;I&gt;&lt;STRONG&gt;​&lt;/STRONG&gt;&lt;/I&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs15 se-ff-system se-weight-unset se-style-unset "&gt;외부 데이터를 불러오는 명령문입니다. &lt;/SPAN&gt;&lt;/P&gt;
&lt;UL class="se-text-list se-text-list-type-bullet-disc"&gt;
&lt;LI class="se-text-list-item"&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs15 se-ff-system se-weight-unset se-style-unset "&gt;DATA = : 파일 위치 또는 파일명을 지정.&lt;/SPAN&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;LI class="se-text-list-item"&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs15 se-ff-system se-weight-unset se-style-unset "&gt;DBMS = : 파일 형식을 설정.&lt;/SPAN&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;LI class="se-text-list-item"&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs15 se-ff-system se-weight-unset se-style-unset "&gt;OUT = : 원본 데이터는 그대로 유지되고, 원하는 데이터 형식의 데이터를 생성합니다. &lt;/SPAN&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;LI class="se-text-list-item"&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs15 se-ff-system se-weight-unset se-style-unset "&gt;REPLACE : 이미 데이터가 존재하면 데이터 세트를 덮어쓰는 것 입니다. 코드를 실행할 때마다 데이터 세트의 이름을 변경하거나 삭제할 필요가 없어서 실행 단계를 단순화 할 수 있습니다.&lt;/SPAN&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs15 se-ff-system  se-style-unset "&gt;&lt;STRONG&gt;​&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs15 se-ff-system  se-style-unset "&gt;&lt;STRONG&gt;​&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs15 se-ff-system  se-style-unset "&gt;&lt;STRONG&gt;2. &amp;amp; 4. PROC MEAN&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs15 se-ff-system se-weight-unset se-style-unset "&gt;​&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs15 se-ff-system se-weight-unset se-style-unset "&gt;통계적 요약을 수행하는 명령문입니다.&lt;/SPAN&gt;&lt;/P&gt;
&lt;UL class="se-text-list se-text-list-type-bullet-disc"&gt;
&lt;LI class="se-text-list-item"&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs15 se-ff-system se-weight-unset se-style-unset "&gt;DATA = : 작업할 데이터 셋 지정&lt;/SPAN&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;LI class="se-text-list-item"&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs15 se-ff-system se-weight-unset se-style-unset "&gt;var: 분석할 변수를 지정.&lt;/SPAN&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;LI class="se-text-list-item"&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs15 se-ff-system se-weight-unset se-style-unset "&gt;N: 결측값이 아닌 데이터 갯수&lt;/SPAN&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs15 se-ff-system se-weight-unset se-style-unset "&gt;​&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs15 se-ff-system se-weight-unset se-style-unset "&gt;​&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs15 se-ff-system  se-style-unset "&gt;&lt;STRONG&gt;3. Data mydata ~&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN class="se-fs-fs15 se-ff-system se-weight-unset se-style-unset "&gt;​&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs-fs15 se-ff-system se-weight-unset se-style-unset "&gt;새로운 데이터셋인 mydata를 정의합니다. &lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs- se-ff-system se-weight-unset se-style-unset "&gt;set mydata; : mydata 셋을 순차적으로 읽음&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs- se-ff-system se-weight-unset se-style-unset "&gt;Log_SalePrice = log1p(SalePrice); : mydata셋 안에 있는 saleprice 칼럼에 log값을 취한 후, 1을 더합니다.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs- se-ff-system se-weight-unset se-style-unset "&gt;log1p를 사용하는 이유는 위 R코드에서 확인해주시면 됩니다.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs- se-ff-system  se-style-unset "&gt;&lt;STRONG&gt;​&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs- se-ff-system se-weight-unset se-style-unset "&gt;​&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs- se-ff-system  se-style-unset "&gt;&lt;STRONG&gt;5. Data stats_sum ~&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs- se-ff-system se-weight-unset se-style-unset "&gt;로그 변환한 왜도와 첨도와 기존 왜도와 첨도 값을 합한 새로운 stats_sum 데이터셋을 정의합니다.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&lt;SPAN class="se-fs- se-ff-system se-weight-unset se-style-unset "&gt;​&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class="se-text-paragraph se-text-paragraph-align-justify "&gt;&amp;nbsp;&lt;/P&gt;
&lt;/DIV&gt;</description>
      <pubDate>Tue, 30 Apr 2024 10:51:01 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Tech-Tip/SAS-R-%EC%99%9C%EB%8F%84%EC%99%80-%EC%B2%A8%EB%8F%84/ta-p/926433</guid>
      <dc:creator>AmeeKang</dc:creator>
      <dc:date>2024-04-30T10:51:01Z</dc:date>
    </item>
    <item>
      <title>How to import SPSS file with SAS OnDemand for Academics</title>
      <link>https://communities.sas.com/t5/SAS-Software-for-Learning/How-to-import-SPSS-file-with-SAS-OnDemand-for-Academics/m-p/926429#M1854</link>
      <description>&lt;P&gt;I am new to SAS OnDemand&lt;BR /&gt;please can anyone help me to know how to import SPSS file from my hard-disk to SAS library to work on it.&lt;/P&gt;</description>
      <pubDate>Tue, 30 Apr 2024 13:36:22 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Software-for-Learning/How-to-import-SPSS-file-with-SAS-OnDemand-for-Academics/m-p/926429#M1854</guid>
      <dc:creator>ElsayedamrBasma</dc:creator>
      <dc:date>2024-04-30T13:36:22Z</dc:date>
    </item>
    <item>
      <title>Editing slice labels in a donut chart so that they don't overlap</title>
      <link>https://communities.sas.com/t5/Graphics-Programming/Editing-slice-labels-in-a-donut-chart-so-that-they-don-t-overlap/m-p/926424#M24571</link>
      <description>&lt;P&gt;Hi everyone,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I need to visualise some survey data using a donut chart in PROC GCHART. Because some adjacent pie slices are very small, their percentages and labels overlap. See below (chart generated using sample data):&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="example chart.PNG" style="width: 999px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/96034i53F67983F5EE2966/image-size/large?v=v2&amp;amp;px=999" role="button" title="example chart.PNG" alt="example chart.PNG" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Is there a way to display the slice percentage on the same line as the slice label instead of after a line break? If yes, can someone provide me with a snippet of code that achieves this? I don't think it's possible within PROC GCHART, but I've heard PROC TEMPLATE or the graphics editor might help (I'm a novice so I can't figure out either). I'm using SAS 8.3.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Alternative solutions I've considered and discarded:&lt;/STRONG&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;&lt;U&gt;Reordering slices so that small segments are not together&lt;/U&gt;: can't do that because of the nature of the data (Likert scale).&lt;/LI&gt;&lt;LI&gt;&lt;U&gt;Experimenting with&amp;nbsp;&lt;/U&gt;&lt;SPAN&gt;&lt;SPAN class=""&gt;&lt;U&gt;ARROW/INSIDE/NONE/OUTSIDE and ANGLE&lt;/U&gt;: already done, labels still overlap in the original data.&lt;/SPAN&gt;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&lt;/LI&gt;&lt;LI&gt;&lt;U&gt;Using PROC SGPIE instead&lt;/U&gt;: not available in the version of SAS that my organisation uses.&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;Here's the sample data I used to generate the chart:&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=""&gt;data survey;
input name $ q1 &amp;amp; $100.;
datalines;
John Very positive
Cathy Very positive
Phil Very positive
Jason Very positive
Darryl Very positive
Gary Very positive
Courtney Very positive
Andrea Very positive
Dave Very positive
Andy Very positive
Will Very positive
Zach Very positive
Isla Very positive
Florence Very positive
Henry Very positive
Mo Very positive
Evie Very Positive
Nigel Positive
Linda Positive
Anna Positive
Luke Positive
Arlo Positive
Archie Positive
Wendy Positive
Meghan Positive
Jack Positive
Lucy Positive
Theo Positive
Dylan Positive
Grace Positive
Stella Positive
Eva Positive
Nora Positive
Camilla Positive
Violet Positive
Jude Positive
Harry Positive
Louis Neither positive nor negative
Joe Neither positive nor negative
Leo Neither positive nor negative
Janet Neither positive nor negative
Debbie Neither positive nor negative
Alex Neither positive nor negative
Daniel Neither positive nor negative
Nina Neither positive nor negative
Gabe Neither positive nor negative
Oliver Neither positive nor negative
Anthony Neither positive nor negative
Chris Neither positive nor negative
Evan Neither positive nor negative
Adam Neither positive nor negative
Max Neither positive nor negative
Sophia Negative
Mia Negative
Abigail Negative
Caroline Negative
Shane Negative
Chloe Negative
Clint Negative
Lizzie Negative
Sarah Negative
Nick Negative
Amelia Negative
Ava Negative
Hazel Negative
Ivy Negative
Olive Negative
Rose Negative
George Negative
Arthur Negative
Ben Negative
Finn Negative
Elliot Negative
Sam Negative
Josh Negative
Kai Negative
Jacob Negative
Hugo Negative
Mason Negative
Mike Negative
Liam Negative
Vanessa Very negative
Fred Prefer not to say
;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Tue, 30 Apr 2024 09:23:09 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Graphics-Programming/Editing-slice-labels-in-a-donut-chart-so-that-they-don-t-overlap/m-p/926424#M24571</guid>
      <dc:creator>ElGent99</dc:creator>
      <dc:date>2024-04-30T09:23:09Z</dc:date>
    </item>
    <item>
      <title>proc ttest pvalue</title>
      <link>https://communities.sas.com/t5/SAS-Programming/proc-ttest-pvalue/m-p/926414#M364561</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I don't have a deep knowledge on statistics.&amp;nbsp; Can someone please confirm if I did this correctly to obtain the P-value for Mean different from 0 (t-test, 2-sided)??&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=""&gt;proc ttest data=base_post side=2 ;
by trt01pn; 
var cat3;
ods output TTests=pval;  **pvalue;
run;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="HitmonTran_0-1714460714596.png" style="width: 400px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/96032i9CE4FE3911503AF0/image-size/medium?v=v2&amp;amp;px=400" role="button" title="HitmonTran_0-1714460714596.png" alt="HitmonTran_0-1714460714596.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you!&lt;/P&gt;</description>
      <pubDate>Tue, 30 Apr 2024 07:06:04 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/proc-ttest-pvalue/m-p/926414#M364561</guid>
      <dc:creator>HitmonTran</dc:creator>
      <dc:date>2024-04-30T07:06:04Z</dc:date>
    </item>
    <item>
      <title>Discover Your Data with SAS Information Catalog APIs from Python – Upload to CAS</title>
      <link>https://communities.sas.com/t5/SAS-Communities-Library/Discover-Your-Data-with-SAS-Information-Catalog-APIs-from-Python/ta-p/926412</link>
      <description>&lt;P&gt;Discover Your Data with SAS Information Catalog APIs from Python – Upload to CAS&lt;/P&gt;</description>
      <pubDate>Tue, 30 Apr 2024 06:37:28 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Communities-Library/Discover-Your-Data-with-SAS-Information-Catalog-APIs-from-Python/ta-p/926412</guid>
      <dc:creator>Bogdan_Teleuca</dc:creator>
      <dc:date>2024-04-30T06:37:28Z</dc:date>
    </item>
    <item>
      <title>Unleashing Potential – SAS Hackathon</title>
      <link>https://communities.sas.com/t5/SAS-Communities-Library/Unleashing-Potential-SAS-Hackathon/ta-p/925469</link>
      <description>&lt;DIV class="lia-message-template-content-zone"&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="linkedIn-banner-1584x396.png" style="width: 864px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/95793iD8AEFE68D5DE6B55/image-dimensions/864x216?v=v2" width="864" height="216" role="button" title="linkedIn-banner-1584x396.png" alt="linkedIn-banner-1584x396.png" /&gt;&lt;/span&gt;
&lt;P&gt;In my last post I spoke about the importance of learning through gamification. Learning in the classroom gets you started. Applying what you’ve learnt through events like hackathons, brings theory to life. And the 2 learning methods connect!&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;A great hackathon &lt;STRONG&gt;aligns with the learning objectives&lt;/STRONG&gt;. It provides students with the opportunity to apply theoretical knowledge in practical, real-world contexts. The themes, challenges, and activities complement the curriculum and enhance students' understanding of key concepts.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;A successful hackathon fosters &lt;STRONG&gt;active student engagement and participation&lt;/STRONG&gt;. It sparks students' curiosity, creativity, and passion for problem-solving. The format, structure, and activities motivate students to collaborate, explore new ideas, and push their boundaries.&lt;/P&gt;
&lt;P&gt;Hackathons also offer valuable &lt;STRONG&gt;hands-on learning experiences&lt;/STRONG&gt; that can't be replicated in traditional classroom settings. A great hackathon provides students with access to real-world data, tools, and resources, allowing them to gain practical skills and insights into industry practices.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;And hackathons provide opportunities for &lt;STRONG&gt;interdisciplinary collaboration&lt;/STRONG&gt;, bringing together students from different academic backgrounds, faculties, and skill sets. A great hackathon encourages cross-disciplinary teamwork, communication, and knowledge sharing.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Professors, industry mentors and subject matter experts play a crucial role in providing &lt;STRONG&gt;mentorship, guidance, and support&lt;/STRONG&gt; to students. They offer advice, answer questions, and facilitate discussions to help students overcome challenges. A great hackathon facilitates networking, mentorship, and career development opportunities, helping students build connections and explore future career paths.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;And a great hackathon incorporates opportunities for &lt;STRONG&gt;feedback and reflection&lt;/STRONG&gt;, allowing students to assess their progress, identify areas for improvement, and celebrate their achievements. Post-event debrief sessions, peer reviews, and expert feedback help students consolidate their learning and prepare for future work.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Lastly a great hackathon embraces &lt;STRONG&gt;inclusivity and diversity&lt;/STRONG&gt;, welcoming students from all backgrounds, identities, and experiences. It creates a supportive and inclusive environment where every participant feels valued, respected, and empowered to contribute their unique perspectives and talents.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;SAS Hackathon&lt;/STRONG&gt; brings industry and academia together. The event provides a platform for participants to showcase their AI and data analytics skills, learn from industry experts, and collaborate with peers to tackle real-world challenges using SAS Viya. It's an exciting opportunity for students to collaborate with professionals to apply their knowledge and creativity. SAS Hackathon participation also looks impressive on a student resume. It demonstrates initiative, teamwork, and the ability to solve complex problems under pressure, which are qualities that employers value. And student feedback share how SAS Hackathon is an intense, experience that push students out of their comfort zones, to learn how to deal with ambiguity, failure, and time constraints. All of which are essential skills for personal and professional growth.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="https://www.sas.com/sas/events/hackathon.html" target="_blank"&gt;SAS Hackathon&lt;/A&gt; registration opens on the 30&lt;SUP&gt;th&lt;/SUP&gt; May and the competition takes place between 16&lt;SUP&gt;th&lt;/SUP&gt; September - 11&lt;SUP&gt;th&lt;/SUP&gt; October. So now is a great time for professors and students alike to incorporate gamification into the Faculty’s program and use SAS Hackathon as a global stage where students can shine.&lt;/P&gt;
&lt;/DIV&gt;</description>
      <pubDate>Tue, 30 Apr 2024 02:50:00 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Communities-Library/Unleashing-Potential-SAS-Hackathon/ta-p/925469</guid>
      <dc:creator>IanEdwards</dc:creator>
      <dc:date>2024-04-30T02:50:00Z</dc:date>
    </item>
    <item>
      <title>Creating a single bar chart from multiple variables</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Creating-a-single-bar-chart-from-multiple-variables/m-p/926390#M364548</link>
      <description>&lt;P&gt;&lt;FONT size="4"&gt;Hello - I know questions like mine have been asked before, but I wasn't able to find an answer that I could adapt to my situation. I would like to create a single bar chart with individual bars for several variables in my dataset, &lt;SPAN class=""&gt;&lt;FONT size="4"&gt;where the values for each variable are either 0 or 1 for each record in the dataset.&lt;/FONT&gt; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT size="4"&gt;&lt;SPAN class=""&gt;I created a series of binary (0/1) variables from questions on a survey where respondents could select one more options (e.g. bn_option1, bn_option2, ...) . Now I'd like to create bar charts for the % of '1's for each option (binary variable) of the corresponding question. One bar chart per question with as many bars as there were originally options. Thanks.&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 29 Apr 2024 20:32:40 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Creating-a-single-bar-chart-from-multiple-variables/m-p/926390#M364548</guid>
      <dc:creator>NeilH</dc:creator>
      <dc:date>2024-04-29T20:32:40Z</dc:date>
    </item>
    <item>
      <title>Processing Time on Macro Variables Resolved within a Macro Function vs a Data-Step Function</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Processing-Time-on-Macro-Variables-Resolved-within-a-Macro/m-p/926389#M364547</link>
      <description>&lt;P&gt;I am wondering if there are any rules about how SAS handles constants and if having the macro language resolve macro variables before they reach the data-step can improve processing time.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Take the following toy example. (I know there are more efficient ways to achieve the same outcome in the code below, this is purely for illustrative purposes.)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=""&gt;%macro macro_vs_datastep();

	%let macro_date = 01JAN1980;
	%let quarters_to_process = 10;

	data data_step;
		set sashelp.gnp;
		%do h = 1 %to &amp;amp;quarters_to_process;
			if intnx("QUARTER", Date, 0, "E") = intnx("QUARTER", "&amp;amp;macro_date"d, &amp;amp;h, "E") then output;
		%end;
	run;

	data macro;
		set sashelp.gnp;

		%do h = 1 %to &amp;amp;quarters_to_process;
			if intnx("QUARTER", Date, 0, "E") = %sysfunc(intnx(QUARTER, "&amp;amp;macro_date"d, &amp;amp;h, E)) then output;
		%end;
	run;

%mend;

%macro_vs_datastep();&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;My intuition is that that resolving the macro variables 'macro_date' and 'h' inside of %sysfunc() should reduce I/O time as in the 2nd data-step, as SAS only has to resolve intnx() with each loop of 'h'. Compare that to the first data-step where intnx() must be resolved with each loop of 'h' along with each record in the dataset.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Are there any rules-of-thumb around best practices in these sorts of situations?&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 29 Apr 2024 20:21:44 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Processing-Time-on-Macro-Variables-Resolved-within-a-Macro/m-p/926389#M364547</guid>
      <dc:creator>sjb1</dc:creator>
      <dc:date>2024-04-29T20:21:44Z</dc:date>
    </item>
    <item>
      <title>ANYALPHA and ANYDIGIT: Surprisingly useful SAS functions</title>
      <link>https://communities.sas.com/t5/SAS-Communities-Library/ANYALPHA-and-ANYDIGIT-Surprisingly-useful-SAS-functions/ta-p/925548</link>
      <description>&lt;P&gt;Learn how to use ANYDIGIT and ANYALPHA to extract measurement values from text data&lt;/P&gt;</description>
      <pubDate>Mon, 29 Apr 2024 19:40:20 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Communities-Library/ANYALPHA-and-ANYDIGIT-Surprisingly-useful-SAS-functions/ta-p/925548</guid>
      <dc:creator>PiaRønnevik</dc:creator>
      <dc:date>2024-04-29T19:40:20Z</dc:date>
    </item>
    <item>
      <title>Calculating Cohen's d from multiply imputed data</title>
      <link>https://communities.sas.com/t5/Statistical-Procedures/Calculating-Cohen-s-d-from-multiply-imputed-data/m-p/926381#M46078</link>
      <description>&lt;P&gt;Hi everyone, apologies if this has been asked but I couldn't find an answer for my specific question. I wanted to get confirmation that what I am doing is appropriate. I have 20 imputed datasets. The grouping variable (2 groups) is called "condition". To compute pooled means across the imputed datasets I used the estimate statement in PROC MIXED for each level of condition:&lt;/P&gt;&lt;P&gt;ODS TRACE ON;&lt;BR /&gt;ODS OUTPUT SolutionF=solutionf Estimates =est3;&lt;/P&gt;&lt;P&gt;PROC MIXED data=data noclprint covtest method=ml;&lt;/P&gt;&lt;P&gt;class tid pid condition (ref='0');&lt;/P&gt;&lt;P&gt;model totalscore=condition/solution ddfm=bw;&lt;/P&gt;&lt;P&gt;random intercept/sub=tid type=un;&lt;/P&gt;&lt;P&gt;estimate "Intercept: 0" intercept 1 condition 0 1;&lt;BR /&gt;estimate "Intercept: 1" intercept 1 condition 1 0 ;&lt;BR /&gt;estimate "Intercept: 1-0" intercept 0 condition 1 -1 ;&lt;/P&gt;&lt;P&gt;store out=model;&lt;/P&gt;&lt;P&gt;by _Imputation_;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&amp;nbsp;proc mianalyze data=est3;&lt;/P&gt;&lt;P&gt;modeleffects Estimate;&lt;/P&gt;&lt;P&gt;stderr stderr;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;For example, let's say this procedure gave me pooled estimates (means) of 8 for condition=0 and 7 for condition=1.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Then I calculated pooled SD using proc ttest and mianalyze:&lt;/P&gt;&lt;P&gt;proc ttest data=data;&lt;BR /&gt;class condition;&lt;BR /&gt;var totalscore;&lt;BR /&gt;by _Imputation_;&lt;BR /&gt;ods output statistics=ttest_ds&lt;BR /&gt;run;&lt;BR /&gt;proc sort data=ttest_ds;&lt;BR /&gt;by class _Imputation_;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;/*The dataset ttest_ds has Class variables of 0 and 1 (for the groups) and "Diff (1-2)" Pooled and Satterthwaite. It also has columns for StdDev and StdErr by Imputation for the two classes.*/&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;data subset;&lt;BR /&gt;set ttest_ds;&lt;BR /&gt;where Class='0'; /*switch to 1 for condition=1*/&lt;BR /&gt;run;&lt;BR /&gt;proc mianalyze data=subset;&lt;BR /&gt;by class;&lt;BR /&gt;modeleffects stddev;&lt;BR /&gt;stderr stderr;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This gave me pooled SDs of, for example, 5.8 for condition=0 and 5.6 for condition=1.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Then I calculated Cohen's d:&lt;/P&gt;&lt;P&gt;data cd;&lt;BR /&gt;mean_diff_rand1 = 8 - 7; /* pooled means for conditions = 0 and 1*/&lt;BR /&gt;pooled_std_dev_rand1 = sqrt((5.8**2 + 5.6**2) / 2); /* pooled SDs for conditions = 0 and 1 */&lt;BR /&gt;d_rand1 = mean_diff_rand1 / pooled_std_dev_rand1;&lt;BR /&gt;run;&lt;BR /&gt;proc print data=cd; /*printing result*/&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I hope this is enough information. Thank you kindly in advance!&lt;/P&gt;</description>
      <pubDate>Mon, 29 Apr 2024 19:30:01 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Statistical-Procedures/Calculating-Cohen-s-d-from-multiply-imputed-data/m-p/926381#M46078</guid>
      <dc:creator>statshuevo</dc:creator>
      <dc:date>2024-04-29T19:30:01Z</dc:date>
    </item>
    <item>
      <title>SAS Viya 4 POC on AWS- Reverting changes / restoring backup</title>
      <link>https://communities.sas.com/t5/Moving-to-SAS-Viya/SAS-Viya-4-POC-on-AWS-Reverting-changes-restoring-backup/m-p/926371#M77</link>
      <description>&lt;P&gt;Hello&lt;BR /&gt;While exploring the SAS Viya POC on AWS, I was looking for ways to revert the configuration (in Environment manager using kubectl) to a previous days backup. Something like restoring the metadata server back to a previous state in SAS 9.x.&lt;BR /&gt;I read the following three well written,&amp;nbsp; scholarly references, which must be very handy and useful to the the knowledgeable.&lt;BR /&gt;&lt;A href="https://documentation.sas.com/doc/en/sasadmincdc/v_045/calbr/p0cw7yuvwc83znn1igjc16zah2se.htm" target="_blank"&gt;https://documentation.sas.com/doc/en/sasadmincdc/v_045/calbr/p0cw7yuvwc83znn1igjc16zah2se.htm&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="https://documentation.sas.com/doc/en/sasadmincdc/v_045/calbr/n1607whucnyc02n1eo6tbvl1tzcs.htm" target="_blank"&gt;https://documentation.sas.com/doc/en/sasadmincdc/v_045/calbr/n1607whucnyc02n1eo6tbvl1tzcs.htm&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="https://documentation.sas.com/doc/en/sasadmincdc/v_045/calbr/n1607whucnyc02n1eo6tbvl1tzcs.htm" target="_blank"&gt;https://documentation.sas.com/doc/en/sasadmincdc/v_045/calbr/n1607whucnyc02n1eo6tbvl1tzcs.htm&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;I got lost lost and move to other priorities.&lt;BR /&gt;Wondering if that is something possible? If yes how?&lt;/P&gt;</description>
      <pubDate>Mon, 29 Apr 2024 18:14:06 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Moving-to-SAS-Viya/SAS-Viya-4-POC-on-AWS-Reverting-changes-restoring-backup/m-p/926371#M77</guid>
      <dc:creator>thesasuser</dc:creator>
      <dc:date>2024-04-29T18:14:06Z</dc:date>
    </item>
    <item>
      <title>Severe penalty for using MFILE?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Severe-penalty-for-using-MFILE/m-p/926369#M364542</link>
      <description>&lt;P&gt;I’ve noticed that when enabling the MFILE option, which is very handy in many situations ranging from debugging to producing production-ready programs, program execution time is severely impacted. Much more than the simple I/O operation of writing the MPRINT statements already being written to the program log would suggest. Depending on the complexity and amount of macro code to be resolved, this may cause the execution to take 5-7 times longer. And to be precise, I am only referring to adding the MFILE option on top of the MPRINT. I’ve coded a simple example in which the performance within SODA is ~2.5 times slower. I’ve noticed this behavior in the past, in local DM, SAS server, SAS EG, etc. applications., in Windows environments etc. It seems like a global issue with the MFILE implementation.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;To investigate, I’ve also played around with the FILENAME statement (in which the MPRINT fileref is set) but it seems to have little impact.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Here is a snip of the proc print and means output&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="snip.png" style="width: 427px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/96016iC77DC2EE1E2DF438/image-size/large?v=v2&amp;amp;px=999" role="button" title="snip.png" alt="snip.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/4539"&gt;@Sas&lt;/a&gt; technical support? Anyone has any ideas?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The code used to test:&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=""&gt;%macro test;
    %do i=1 %to 250;

        data t&amp;amp;i.;
            %do j=1 %to 100;

                do k&amp;amp;j.=1 to 5;
                    output;
                end;
            %end;
        run;

    %end;

    %do i=1 %to 250;

        data t&amp;amp;i.;
            %do j=1 %to 100;

                do k&amp;amp;j.=1 to 5;
                    output;
                end;
            %end;
        run;

    %end;
%mend;

%macro wmfile;
    filename mprint temp;
    options mprint mfile;
    %test;
    options nomfile;
%mend;

%macro womfile;
    options mprint nomfile;
    %test;
%mend;

data bench;
    length onbench $200;

    do run=1 to 3;
        do onbench='%wmfile', '%womfile';
            start=time();
            rc=dosubl(onbench);
            end=time();
            mark=end-start;
            output;
        end;
    end;
run;

proc print data=bench;
run;

proc means data=bench;
    class onbench;
    var mark;
run;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;20 year SAS user, but first post here. Thanks for your time.&lt;/P&gt;</description>
      <pubDate>Mon, 29 Apr 2024 18:04:06 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Severe-penalty-for-using-MFILE/m-p/926369#M364542</guid>
      <dc:creator>peterprec</dc:creator>
      <dc:date>2024-04-29T18:04:06Z</dc:date>
    </item>
    <item>
      <title>ERROR in using NLPNRA and PROC IML for MLE of custom function</title>
      <link>https://communities.sas.com/t5/SAS-IML-Software-and-Matrix/ERROR-in-using-NLPNRA-and-PROC-IML-for-MLE-of-custom-function/m-p/926351#M6204</link>
      <description>&lt;P&gt;Dear community,&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;I am trying to follow&amp;nbsp;&lt;/SPAN&gt;&lt;A href="http://blogs.sas.com/content/iml/2011/10/12/maximum-likelihood-estimation-in-sasiml/" target="_self" rel="nofollow noreferrer"&gt;Rick Wicklin's example of using NLPNRA with PROC IML for maximum likelihood estimation&lt;/A&gt;&lt;SPAN&gt;. Unfortunately, I am encountering an error with NLPNRA.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;I am trying to use this script to find the MLE of a two parameter, two variable custome probability mass function:&lt;/SPAN&gt;&lt;/P&gt;&lt;PRE&gt;/*Define Density Function*/&lt;BR /&gt;&lt;BR /&gt;data multivariate_data;&lt;BR /&gt;call streaminit(5);&lt;BR /&gt;%let theta1 = 5;&lt;BR /&gt;%Let theta2 = 3;&lt;BR /&gt;	array Xi[2];&lt;BR /&gt;    do i = 1 to 1000;&lt;BR /&gt;        do j=1 to 2;&lt;BR /&gt;        Xi[j]= rand('Bernoulli',.5);&lt;BR /&gt;        end;&lt;BR /&gt;  	N=exp(&amp;amp;theta1*(Xi[1]+Xi[2])+&amp;amp;theta2*Xi[1]*Xi[2]); /*numerator of density function*/&lt;BR /&gt;  	D=(1+2*exp(&amp;amp;theta1)+exp(2*&amp;amp;theta1+&amp;amp;theta2)); /*denominator of density function*/&lt;BR /&gt;  	P=N/D;&lt;BR /&gt;        output;&lt;BR /&gt;        &lt;BR /&gt;    end;&lt;BR /&gt;    drop i j;&lt;BR /&gt;run;&lt;BR /&gt;&lt;BR /&gt;proc print data= multivariate_data;&lt;BR /&gt;var P;&lt;BR /&gt;RUN;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;proc iml;&lt;BR /&gt;use multivariate_data;&lt;BR /&gt;read all var {"Xi1","Xi2"} into x;&lt;BR /&gt;close multivariate_data;&lt;BR /&gt;/* write the log-likelihood function the distribution of interest */&lt;BR /&gt;start LogLik(param) global (x);&lt;BR /&gt;   theta1 = param[1];&lt;BR /&gt;   theta2 = param[2];&lt;BR /&gt;   n = nrow(x);&lt;BR /&gt;   return ( theta1*(sum(Xi1)+sum(Xi2)) + theta2*sum(Xi1)*sum(Xi2)-n*log(1+2*exp(theta1)+exp(2*theta1+theta2)) );&lt;BR /&gt;finish LogLik;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;p = {2 4};/* initial guess for solution */&lt;BR /&gt;con = {., .}; /* Upper bounds for parameters (if any) */&lt;BR /&gt;optn = {1,  /* find max of function       */&lt;BR /&gt;        3}; /* print a lot of output      */&lt;BR /&gt;call nlpnra(rc,xres,"LogLik",p,optn,con);&lt;BR /&gt;&lt;BR /&gt;However, after running this code I receive an error code following the nlpnra call that says error in argument BLC. After reviewing the documentation I thought that&lt;BR /&gt;BLC was an option argument so I am confused as to why I am receiving this error. Anyt help would be much appreciated.&lt;BR /&gt;Thanks!&lt;/PRE&gt;</description>
      <pubDate>Mon, 29 Apr 2024 17:42:04 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-IML-Software-and-Matrix/ERROR-in-using-NLPNRA-and-PROC-IML-for-MLE-of-custom-function/m-p/926351#M6204</guid>
      <dc:creator>roystriker77r</dc:creator>
      <dc:date>2024-04-29T17:42:04Z</dc:date>
    </item>
    <item>
      <title>Tips Semanales: SAS Enterprise Guide – Conexión a Viya 4</title>
      <link>https://communities.sas.com/t5/Consejos-y-trucos/Tips-Semanales-SAS-Enterprise-Guide-Conexi%C3%B3n-a-Viya-4/ba-p/926348</link>
      <description>&lt;P&gt;&lt;SPAN&gt;La nueva versión de SAS Enterprise Guide 8.4 puede conectarse con Viya 4. ¡Consulta este artículo para aprender cómo hacerlo!&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 29 Apr 2024 17:22:15 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Consejos-y-trucos/Tips-Semanales-SAS-Enterprise-Guide-Conexi%C3%B3n-a-Viya-4/ba-p/926348</guid>
      <dc:creator>ericlesvictor</dc:creator>
      <dc:date>2024-04-29T17:22:15Z</dc:date>
    </item>
    <item>
      <title>SAS Log ERROR</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SAS-Log-ERROR/m-p/926347#M364540</link>
      <description>&lt;P&gt;I have this below error when I am trying to import and open a sas7bdat dataset in work library&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#FF0000"&gt;&lt;STRONG&gt;ERROR: YZR malfunction: file RAW1.AE_SAE.DATA trashed or YZR code bug.&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Can you please let me know if anyone have solution?&lt;/P&gt;</description>
      <pubDate>Mon, 29 Apr 2024 17:17:41 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SAS-Log-ERROR/m-p/926347#M364540</guid>
      <dc:creator>Teja2309</dc:creator>
      <dc:date>2024-04-29T17:17:41Z</dc:date>
    </item>
  </channel>
</rss>

