Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • replacing word in variable labels that shows up in different positions

    In some of my variable labels I have a word I would like to replace by another word. However, the word shows up in different positions across variables but is always in between %. I would like to replace the word %rostertitle% by "ESPÉCIE". Could anyone suggest a way to do that using a loop?

    Many thanks
    Paula


    Code:
    . des s14q04-s14q18
    
                  storage   display    value
    variable name   type    format     label      variable label
    ---------------------------------------------------------------------------------------------------------------------------------------------
    s14q04          double  %6.2f                 14.04. Quantos %rostertitle% compreende atualmente o rebanho/manada?
    s14q05          double  %6.2f                 14.05. Quantos %rostertitle% pertencem ao próprio agregado familiar?
    s14q06          double  %6.2f                 14.06. Quantos %rostertitle% vivos comprou nos últimos 12 meses?
    s14q07          double  %6.2f                 14.07. Qual é o valor da compra destes %rostertitle% ?
    s14q08          double  %6.2f                 14.08. Quantos %rostertitle% vivos do rebanho/manada vendeu nos últimos 12 meses
    s14q09          double  %6.2f                 14.09. Que percentagem da receita da venda destes %rostertitle% reverte para o a
    s14q10          double  %6.2f                 14.10. Qual é o valor bruto da venda destes %rostertitle%?
    s14q11          double  %6.2f                 14.11. Quanto suportou em despesas de transporte, comissões e taxas sobre a vend
    s14q12          double  %6.2f      s14q12     14.12. Abateu os seus %rostertitle% nos últimos 12 meses para a produção de car
    s14q13          double  %6.2f      s14q13     14.13. Vendeu uma parte da carne de %rostertitle% nos últimos 12 meses?
    s14q14          double  %6.2f      s14q14     14.14. Que percentagem da receita da venda destes %rostertitle% reverte para o a
    s14q15          double  %6.2f                 14.15. Qual foi o montante da venda nos últimos 12 meses?
    s14q16          double  %6.2f      s14q16     14.16. Suportou encargos específicos (despesas de abate, fornecimentos, transpor
    s14q17          double  %6.2f                 14.17. Qual é o montante mensal destes encargos?
    s14q18          double  %6.2f      s14q18     14.18. Vendeu peles de %rostertitle% nos últimos 12 meses?
    
    .

  • #2
    Although it is simple enough to set up a loop, elabel (SSC) offers a one-line solution

    Code:
    * ssc instal elabel
    elabel variable (*) (= subinstr(@, "%rostertitle%", "ESPÉCIE", 1))
    For more information read up on

    Code:
    help elabel variable
    help subinstr()
    Best
    Daniel

    Comment


    • #3
      Code:
      * sandbox needed! 
      clear 
      set obs 1 
      forval j = 4/9 { 
          local J : di %02.0f `j' 
          gen s14q`J' = 42 
      }
      
      label var s14q04  "14.04. Quantos %rostertitle% compreende atualmente o rebanho/manada?"
      label var s14q05  "14.05. Quantos %rostertitle% pertencem ao próprio agregado familiar?"
      label var s14q06  "14.06. Quantos %rostertitle% vivos comprou nos últimos 12 meses?"
      label var s14q07  "14.07. Qual é o valor da compra destes %rostertitle% ?"
      label var s14q08  "14.08. Quantos %rostertitle% vivos do rebanho/manada vendeu nos últimos 12 meses"
      label var s14q09  "14.09. Que percentagem da receita da venda destes %rostertitle% reverte para o a"
      
      describe 
      
      * start here 
      foreach v of var s14q?? { 
          local label : var label `v' 
          local label : subinstr local label "%rostertitle%" "ESPÉCIE", all
          label var `v' "`label'" 
      } 
      
      describe

      Comment

      Working...
      X