他の列の値に基づいて「+」または「-」を持つ列を作成するには? [閉鎖]

他の列の値に基づいて「+」または「-」を持つ列を作成するには? [閉鎖]

私のデータは次のとおりです。

head retinopathy.pheno.glm.logistic.hybrid1
CHROM   POS ID  REF ALT A1  A1_FREQ FIRTH?  TEST    OBS_CT  BETA    SE  Z_STAT  P   ERRCODE
1   785989  1:785989:T:C    C   T   T   0.154229    N   ADD 1608    0.166419    0.0975993   1.70512 0.0881712   .
1   1130727 1:1130727:A:C   A   C   C   0.0870647   N   ADD 1608    0.148613    0.127899    1.16196 0.245253    .
1   1156131 1:1156131:T:C   T   C   C   0.161692    N   ADD 1608    0.0648246   0.0991692   0.653676    0.51332 .
1   1158631 1:1158631:A:G   G   A   A   0.109142    N   ADD 1608    -0.142729   0.111427    -1.28092    0.200221    .
1   1211292 1:1211292:C:T   C   T   T   0.0631219   N   ADD 1608    -0.102611   0.147134    -0.6974 0.485552    .
1   1478153 1:1478153:T:C   T   C   C   0.285448    N   ADD 1608    0.0407141   0.0791718   0.514251    0.607077    .
...

以下を含む「DIR」という追加の列をどのように生成しますか?

+ if BETA>0
- if BETA<0
0 if BETA=0

ベストアンサー1

あなたは試すことができますミラー

$ mlr --pprint --ifs space --repifs put '
    $DIR = $BETA>0 ? "+" : $BETA<0 ? "-" : "0"
  ' retinopathy.pheno.glm.logistic.hybrid1 
CHROM  POS      ID             REF  ALT  A1  A1_FREQ    FIRTH?  TEST  OBS_CT  BETA       SE         Z_STAT    P          ERRCODE  DIR
1      785989   1:785989:T:C   C    T    T   0.154229   N       ADD   1608    0.166419   0.0975993  1.70512   0.0881712  .        +
1      1130727  1:1130727:A:C  A    C    C   0.0870647  N       ADD   1608    0.148613   0.127899   1.16196   0.245253   .        +
1      1156131  1:1156131:T:C  T    C    C   0.161692   N       ADD   1608    0.0648246  0.0991692  0.653676  0.51332    .        +
1      1158631  1:1158631:A:G  G    A    A   0.109142   N       ADD   1608    -0.142729  0.111427   -1.28092  0.200221   .        -
1      1211292  1:1211292:C:T  C    T    T   0.0631219  N       ADD   1608    -0.102611  0.147134   -0.6974   0.485552   .        -
1      1478153  1:1478153:T:C  T    C    C   0.285448   N       ADD   1608    0.0407141  0.0791718  0.514251  0.607077   .        +

データが実際に分離される方法によっては、合計を調整する必要があるかもしれません--ifs--repifs

おすすめ記事