Как я получаю опцию кодирования SAS программно?

R - надежный язык, и он может создавать очень богатые визуализации. Вся эта мощь означает, что у пользователя должно быть больше рычагов, чтобы тянуть, чтобы произвести желаемую визуализацию, которая усиливает кривую обучения. Это усугубляется тем фактом, что самая популярная библиотека визуализации R (ggplot) разработана таким образом, что может показаться странным людям, приходящим из более объектно-ориентированных языков или из программ электронных таблиц.

Я произвел что-то вроде того, что, я думаю, ты хочешь.

df <- data.frame(cat=c("cat1", "cat2", "cat3", "cat4", "cat5", "cat6", "cat1", "cat2", "cat3", "cat4", "cat5", "cat6"),
             time_type=c("a","a","a","a","a","a","b","b","b","b","b","b"),
             time=c(12.7, 16, 8.6, 13.4, 7.3, 5.5, 6.8, 15, 33, 4.2, 10, 29.5))


head(df) 
        cat   time_type   time
    1   cat1  a           12.7
    2   cat2  a           16.0
    3   cat3  a           8.6   
    4   cat4  a           13.4  
    5   cat5  a           7.3   
    6   cat6  a           5.5   
    7   cat1  b           6.8
    8   cat2  b           15
    9   cat3  b           33
   10   cat4  b           4.2
   11   cat5  b           10
   12   cat6  b           29.5

и для построения графика

ggplot(data=df, aes(x=cat, y=time, fill=time_type)) +
  geom_bar(stat="identity", position=position_dodge())

barplot_in_r

редактировать:

И вы можете создать этот фрейм данных из вашего исходного фрейма данных, как этот

df2 <- data.frame(cat=c("cat1", "cat2", "cat3", "cat4", "cat5", "cat6"),
                 time_a=c(12.7, 16, 8.6, 13.4, 7.3, 5.5),
                 time_b=c(6.8, 15, 33, 4.2, 10, 29.5))
head(df2)

    cat     time_a  time_b
1   cat1    12.7    6.8 
2   cat2    16.0    15.0    
3   cat3    8.6     33.0    
4   cat4    13.4    4.2 
5   cat5    7.3     10.0    
6   cat6    5.5     29.5    

И оттуда, вы можете просто растопить ваш фрейм данных так: ]

6
задан Simon Nickerson 29 April 2009 в 09:32
поделиться

2 ответа

You can use the GETOPTION function in Base SAS:

data _null_;
  val=GETOPTION('encoding');
  put val=;
run;

On my system this gives the log output

5    data _null_;
6      val=GETOPTION('encoding');
7      put val=;
8    run;

val=LATIN1

In SCL (SAS Component Language) you can use the OPTGETC and OPTGETN functions. See the manual for your specific version of the SAS System for further details.

7
ответ дан 10 December 2019 в 00:44
поделиться

В SAS 9.2 & sysencoding даст вам то же самое, что и getoption ('encoding') , хотя случай отличается (он кратко описан здесь ).

157  %put &sysencoding;
wlatin1
158
159  data _null_;
160    val=GETOPTION('encoding');
161    put val=;
162  run;

val=WLATIN1
3
ответ дан 10 December 2019 в 00:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: