Есть ли способ легко сохранить вывод из PRO C LTA в документ MS Word в SAS? - PullRequest
0 голосов
/ 14 июля 2020

Я использую PRO C LTA-плагин , предоставленный Центром методологии PennState. Он записывает вывод в окно вывода SAS, но не в обычном формате HTML. Похоже, это просто текст. Есть ли способ легко скопировать значения из вывода в документ Word?

Вещи, которые я пробовал:

  1. Копировать вставку непосредственно из вывода SAS в Word или Excel. Он неправильно помещает значения в ячейки.
  2. Печать вывода в PDF-файл и копирование из этого PDF-файла. Неправильно помещает значения в ячейки.
  3. С помощью системы ODS. Похоже, что результаты в ODS не сохраняются. Я проверил с помощью ODS TRACE.

TIA.

Ответы [ 2 ]

2 голосов
/ 14 июля 2020

Не просматривая данные и код LTA, вы можете сохранить содержимое окна OUTPUT и с помощью ODS с style=monotype скопировать его в документ с шагом DATA _NULL_.

Пример (код LCA со страницы плагина):

DATA test;
INPUT it1 it2 it3 it4 count;
DATALINES;
1 1 1 1 5
1 1 1 2 5
1 1 2 1 9
1 1 2 2 8
1 2 1 2 5
1 2 2 1 8
1 2 2 2 4
2 1 1 1 5
2 1 1 2 3
2 1 2 1 6
2 1 2 2 8
2 2 1 1 3
2 2 1 2 7
2 2 2 1 5
2 2 2 2 10
;
RUN;

dm 'clear output';

PROC LCA DATA=test ;
NCLASS 2;
ITEMS it1 it2 it3 it4;
CATEGORIES 2 2 2 2;
FREQ count;
SEED 100000;
RHO PRIOR=1;
RUN;

* save contents of output window to catalog entry;
dm 'output; saveas work.lca.results.output';

filename results catalog 'work.lca.results.output';

ods rtf file='results.rtf' style=monospace;

title; footnote;
options nodate nonumber nocenter;

* read contents of catalog entry and write to ODS;
data _null_;
  infile results;
  input;
  line = _infile_;
  file print ods;
  put _ods_;
run;

ods rtf close;

Документ (изображение)
введите описание изображения здесь

0 голосов
/ 15 июля 2020

Процедуры PRO C LCA и PRO C LTA включают параметры OUTPOST, OUTEST и OUTPARAM, которые позволяют сохранять некоторые результаты в наборы данных, которые затем можно распечатать с помощью ODS.

Пример кода :

DATA test;
INPUT it1 it2 it3 it4 count;
DATALINES;
1 1 1 1 5
1 1 1 2 5
1 1 2 1 9
1 1 2 2 8
1 2 1 2 5
1 2 2 1 8
1 2 2 2 4
2 1 1 1 5
2 1 1 2 3
2 1 2 1 6
2 1 2 2 8
2 2 1 1 3
2 2 1 2 7
2 2 2 1 5
2 2 2 2 10
;
RUN;

PROC LTA DATA=test OUTEST=est1 OUTPARAM=par1 ;
NSTATUS 2;
NTIMES 4;
ITEMS it1 it2 it3 it4;
CATEGORIES 2;
SEED 100000;
RUN;

ods rtf file="results.rtf"; 
    proc print data=par1; run;
ods rtf close;
...