44452


SASの場合

[code]

    keep q1 q22_01-q22_15 q25 q28 q33_3-q33_21;
    
[/code]

のように落とさず持ってくる変数を連続で指定できますが、RやPythonではどのように書くのでしょうか。  
SASのように一文で書きたいです。複数のデータフレームに指定してマージ、というのは避けたいです。  
Rだとdplyrを用いて

[code]

    select(df, q1, num_range(prefix = "q22_", range = 1:3, width = 2),q25,q28, num_range(prefix = "q33_",width=1))
    
[/code]

でしょうか。

Pythonだと

[code]

    df['q22_01':'q22_15']やdf[['q25', 'q28']]
    
[/code]

のような書き方があるようですが混在させられず困っています。  
なにか良い方法等あるでしょうか。  
（そもそも前者は連番を処理してはおらず隣り合ったカラム同士を処理しているだけですが…）

どうぞよろしくお願いいたします。


CC BY-SA 4.0
2018-05-31T16:20:16.193
44440
2018-06-01T07:44:26.300
12457
question
python r pandas tidyverse
SASでのkeepはRやPythonではどのように書くのか


Pythonの場合は、次のように書けます。

[code]

    df[['q1'] + ['q22_' + format(i, '02d') for i in range(1,16)] + ['q25', 'q28'] + ['q33_' + str(i) for i in range(3,22)]]
    
[/code]


CC BY-SA 4.0
2018-06-01T07:38:00.427
44452
2018-06-01T07:44:26.300
2018-06-01T07:44:26.300
15171
15171
44440
answer