Announcement

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

  • Help on invalid syntax on plssem

    I installed the plssem package hoping to run a partial least square SEM.
    I've read the authors instructions and did some runs using their own data ang commands in their books.

    But when it is time to run an analysis using my own data, the invalid syntax error comes up.
    I used -set trace on- an I hop someone who knows ho to read the results can help me address the issues.

    Code:
    . set trace on
    
    . do "C:\Users\Haj\AppData\Local\Temp\STD14dc_000000.tmp"
    
    .
    .
    . plssem  EXPKNOW > expfarm capbldg infoshare knowcreate ///
    >                 TECHUSE > com4 com5 com6 int4 ///
    >                 CODEKNOW > ext3 ext4 int2 ///
    >                 ABILITY < innovnet support ///
    >                 INNOVATT > attinnov_1 attinnov_2 attinnov_3 attinnov_6 attinnov_7, ///
    >                 structural (ABILITY EXPKNOW TECHUSE CODEKNOW INNOVATT)
      ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- begin plssem ---
      - version 15.1
      - syntax [anything] [if] [in] [, * ]
      - if replay() {
        if ("`e(cmd)'" != "plssem") {
        error 301
        }
        if (_by()) {
        error 190
        }
        local cmdline = `"`e(cmdline)'"'
        local cmdlen = strlen(`"`cmdline'"')
        local cmdcomma = strpos(`"`cmdline'"', ",")
        local old_options = substr(`"`cmdline'"', `cmdcomma' + 1, `cmdlen' - `cmdcomma')
        local old_options : list clean old_options
        local hasstruct = strpos(`"`old_options'"', "str")
        if (!`hasstruct') {
        local nostructural "nostructural"
        }
        if (`"`options'"' != "") {
        Display, `options' `nostructural'
        }
        else {
        Display, `old_options' `nostructural'
        }
        exit
        }
      - if _by() {
        local BY `"by `_byvars' `_byrc0':"'
        }
      - if (_caller() < 8) {
        local version : display "version " string(_caller()) ", missing :"
        }
      - else {
      - local version : display "version " string(_caller()) " :"
      - }
      - local isgroup = strpos(`"`options'"', "gr")
      = local isgroup = strpos(`"structural(ABILITY EXPKNOW TECHUSE CODEKNOW INNOVATT)"', "gr")
      - capture quietly mi query
        ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ begin mi ---
        - version 11.0
        - local version : di "version " string(_caller()) ":"
        - set prefix mi
        - gettoken subcmd 0 : 0, parse(" :,=[]()+-")
        - local l = strlen("`subcmd'")
        = local l = strlen("query")
        - if ("`subcmd'"=="add") {
        = if ("query"=="add") {
          mi_cmd_add `0'
          }
        - else if ("`subcmd'"=="append") {
        = else if ("query"=="append") {
          mi_cmd_append `0'
          }
        - else if ("`subcmd'"=="convert") {
        = else if ("query"=="convert") {
          mi_cmd_convert `0'
          }
        - else if ("`subcmd'"=="copy") {
        = else if ("query"=="copy") {
          mi_cmd_copy `0'
          }
        - else if ("`subcmd'"==bsubstr("demote", 1, 6)) {
        = else if ("query"==bsubstr("demote", 1, 6)) {
          mi_cmd_demote `0'
          }
        - else if ("`subcmd'"==bsubstr("describe", 1, max(1,`l'))) {
        = else if ("query"==bsubstr("describe", 1, max(1,5))) {
          mi_cmd_describe `0'
          }
        - else if ("`subcmd'"=="erase") {
        = else if ("query"=="erase") {
          mi_cmd_erase `0'
          }
        - else if ("`subcmd'"==bsubstr("estimate", 1, max(3,`l'))) {
        = else if ("query"==bsubstr("estimate", 1, max(3,5))) {
          `version' mi_cmd_estimate `0'
          }
        - else if ("`subcmd'"=="expand") {
        = else if ("query"=="expand") {
          mi_cmd_expand `0'
          }
        - else if ("`subcmd'"=="export") {
        = else if ("query"=="export") {
          mi_cmd_export `0'
          }
        - else if ("`subcmd'"=="extract") {
        = else if ("query"=="extract") {
          mi_cmd_extract `0'
          }
        - else if ("`subcmd'"=="fvset") {
        = else if ("query"=="fvset") {
          mi_cmd_genericset "fvset `0'" "" all
          }
        - else if ("`subcmd'"=="import") {
        = else if ("query"=="import") {
          mi_cmd_import `0'
          }
        - else if ("`subcmd'"==bsubstr("impute",1,max(3,`l'))) {
        = else if ("query"==bsubstr("impute",1,max(3,5))) {
          `version' mi_cmd_impute `0'
          }
        - else if ("`subcmd'"=="merge") {
        = else if ("query"=="merge") {
          mi_cmd_merge `0'
          }
        - else if ("`subcmd'"==bsubstr("misstable", 1, max(6,`l'))) {
        = else if ("query"==bsubstr("misstable", 1, max(6,5))) {
          mi_cmd_misstable `0'
          }
        - else if ("`subcmd'"==bsubstr("passive", 1, max(3,`l'))) {
        = else if ("query"==bsubstr("passive", 1, max(3,5))) {
          mi_cmd_passive `0'
          }
        - else if ("`subcmd'"=="post") {
        = else if ("query"=="post") {
          mi_cmd_post `0'
          }
        - else if ("`subcmd'"=="predict") {
        = else if ("query"=="predict") {
          `version' mi_cmd_predict `0'
          }
        - else if ("`subcmd'"=="predictnl") {
        = else if ("query"=="predictnl") {
          `version' mi_cmd_predictnl `0'
          }
        - else if ("`subcmd'"==bsubstr("query", 1, max(1,`l'))) {
        = else if ("query"==bsubstr("query", 1, max(1,5))) {
        - mi_cmd_query `0'
        = mi_cmd_query
          ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ begin mi_cmd_query ---
          - version 11.0
          - syntax
          - u_mi_how_set style
            ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- begin u_mi_how_set ---
            - version 11
            - args mname selectok
            - local marker `_dta[_mi_marker]'
            = local marker
            - if ("`marker'" == "_mi_ds_1") {
            = if ("" == "_mi_ds_1") {
              c_local `mname' `_dta[_mi_style]'
              exit
              }
            - if ("`marker'" == "select") {
            = if ("" == "select") {
              if ("`selectok'"=="selectok") {
              c_local `mname' select
              exit
              }
              di as smcl as err "data in memory are from {bf:mi select}"
              exit 119
              }
            - if ("`marker'"=="") {
            = if (""=="") {
            - c_local `mname'
            = c_local style
            - exit
            ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ end u_mi_how_set ---
          - if ("`style'"=="") {
          = if (""=="") {
          - return local style ""
          - return scalar update = .
          - return scalar m = 0
          - return scalar M = 0
          - di as smcl as txt "(data not {bf:mi set})"
          - exit
          -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- end mi_cmd_query ---
        - }
        - else if ("`subcmd'"==bsubstr("register", 1, max(3,`l'))) {
        = else if ("query"==bsubstr("register", 1, max(3,5))) {
          mi_cmd_register `0'
          }
        - else if ("`subcmd'"==bsubstr("rename", 1, max(3,`l'))) {
        = else if ("query"==bsubstr("rename", 1, max(3,5))) {
          mi_cmd_rename `0'
          }
        - else if ("`subcmd'"=="replace0") {
        = else if ("query"=="replace0") {
          mi_cmd_replace0 `0'
          }
        - else if ("`subcmd'"=="reshape") {
        = else if ("query"=="reshape") {
          mi_cmd_reshape `0'
          }
        - else if ("`subcmd'"=="select") {
        = else if ("query"=="select") {
          mi_cmd_select `0'
          }
        - else if ("`subcmd'"=="set") {
        = else if ("query"=="set") {
          mi_cmd_set `0'
          }
        - else if ("`subcmd'"=="st") {
        = else if ("query"=="st") {
          mi_cmd_genericset "st `0'" "" na
          }
        - else if ("`subcmd'"=="stjoin") {
        = else if ("query"=="stjoin") {
          mi_cmd_stjoin `0'
          }
        - else if ("`subcmd'"=="streset") {
        = else if ("query"=="streset") {
          mi_cmd_genericset "streset `0'" "_st _d _t _t0 _origin _scalar _insmpl" na
          }
        - else if ("`subcmd'"=="stset") {
        = else if ("query"=="stset") {
          mi_cmd_genericset "stset `0'" "_st _d _t _t0 _origin _scalar _insmpl" na
          }
        - else if ("`subcmd'"=="stsplit") {
        = else if ("query"=="stsplit") {
          mi_cmd_stsplit `0'
          }
        - else if ("`subcmd'"=="svyset") {
        = else if ("query"=="svyset") {
          mi_cmd_svyset `0'
          }
        - else if ("`subcmd'"==bsubstr("testtransform", 1, max(6,`l'))) {
        = else if ("query"==bsubstr("testtransform", 1, max(6,5))) {
          mi_cmd_testtransform `0'
          }
        - else if ("`subcmd'"=="test") {
        = else if ("query"=="test") {
          mi_cmd_test `0'
          }
        - else if ("`subcmd'"=="tset") {
        = else if ("query"=="tset") {
          mi_cmd_genericset "tsset `0'" "" reg
          }
        - else if ("`subcmd'"=="tsset") {
        = else if ("query"=="tsset") {
          mi_cmd_genericset "tsset `0'" "" reg
          }
        - else if ("`subcmd'"==bsubstr("unregister", 1, max(5,`l'))) {
        = else if ("query"==bsubstr("unregister", 1, max(5,5))) {
          mi_cmd_unregister `0'
          }
        - else if ("`subcmd'"=="unset") {
        = else if ("query"=="unset") {
          mi_cmd_unset `0'
          }
        - else if ("`subcmd'"=="update") {
        = else if ("query"=="update") {
          mi_cmd_update `0'
          }
        - else if ("`subcmd'"==bsubstr("varying", 1, max(4,`l'))) {
        = else if ("query"==bsubstr("varying", 1, max(4,5))) {
          mi_cmd_varying `0'
          }
        - else if ("`subcmd'"=="xeq") {
        = else if ("query"=="xeq") {
          `version' mi_cmd_xeq `0'
          }
        - else if ("`subcmd'"=="xtset") {
        = else if ("query"=="xtset") {
          mi_cmd_genericset "xtset `0'" "" reg
          }
        - else {
          if ("`subcmd'"=="") {
          di as smcl as err "syntax error"
          di as smcl as err "{p 4 4 2}"
          di as smcl as err "{bf:mi} must be followed by a subcommand."
          di as smcl as err "You might type {bf:mi query}, or {bf:mi set wide},"
          di as smcl as err "etc."
          di as smcl as err "{p_end}"
          exit 198
          }
          capture which mi_cmd_`subcmd'
          if (_rc) {
          if (_rc==1) {
          exit 1
          }
          di as smcl as err `"subcommand {bf:mi} {bf:`subcmd'} is unrecognized"'
          exit 199
          }
          `version' mi_cmd_`subcmd' `0'
          }
        - return add
        -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- end mi ---
      - if (`isgroup') {
      = if (0) {
        if _by() {
        display as error "the 'group()' option is not allowed with by"
        exit
        }
        else if (r(M) > 0) {
        display as error "the 'group()' option is not allowed with multiple imputation"
        exit
        }
        else {
        `version' Compare `0'
        }
        }
      - else {
      - `version' `BY' Estimate `0'
      = version 17 :  Estimate EXPKNOW > expfarm capbldg infoshare knowcreate                 TECHUSE > com4 com5 com6 int4                 CODEKNOW > ext3 ext4 int2                 ABILITY < innovnet support           
    >       INNOVATT > attinnov_1 attinnov_2 attinnov_3 attinnov_6 attinnov_7,                 structural (ABILITY EXPKNOW TECHUSE CODEKNOW INNOVATT)
        ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- begin plssem.Estimate ---
        - version 15.1
        - syntax anything(id="Measurement model" name=blocks) [if] [in], [ STRuctural(string) Wscheme(string) BINary(namelist min=1) Boot(numlist integer >0 min=1 max=1) Seed(numlist max=1) Tol(real 1e-7) MAXiter(intege
    > r 100) MISsing(string) k(numlist integer >0 max=1) INIT(string) DIGits(integer 3) noHEADer noMEAStable noDISCRIMtable noSTRUCTtable LOADPval STATs GRoup(string) CORRelate(string) RAWsum noSCale CONVcrit(string) no
    > CLeanup ]
        - local cmdline : list clean 0
        - local tempnamelist
        - local blocks : list clean blocks
        - tokenize `"`blocks'"', parse(" ()<>")
        = tokenize `"EXPKNOW > expfarm capbldg infoshare knowcreate TECHUSE > com4 com5 com6 int4 CODEKNOW > ext3 ext4 int2 ABILITY < innovnet support INNOVATT > attinnov_1 attinnov_2 attinnov_3 attinnov_6 attinnov_7"',
    >  parse(" ()<>")
        - tempname inblock startblock
        - scalar `inblock' = 0
        = scalar __000000 = 0
        - scalar `startblock' = 0
        = scalar __000001 = 0
        - local j = 0
        - local tok_i = 1
        - while ("``tok_i''" != "") {
        = while ("EXPKNOW" != "") {
        - if ("``tok_i''" == "(") {
        = if ("EXPKNOW" == "(") {
          if (`inblock') {
          display as error "unexpected ("
          error 197
          }
          scalar `inblock' = 1
          scalar `startblock' = 1
          local ++j
          }
        - else if (`inblock') {
        = else if (__000000) {
          if ("``tok_i''" == ")") {
          if ("LV`j'" == "" | "i`j'" == "") {
          display as error "incomplete measurement model specification"
          error 197
          }
          else {
          scalar `inblock' = 0
          local i`LV`j'' `i`j''
          local allindicators "`allindicators' `i`j''"
          local alllatents "`alllatents' `LV`j''"
          }
          }
          else if ("``tok_i''" == "<" | "``tok_i''" == ">") {
          scalar `startblock' = 0
          if ("``tok_i''" == ">") {
          local modeA "`modeA' `LV`j''"
          }
          else if ("``tok_i''" == "<") {
          local modeB "`modeB' `LV`j''"
          }
          }
          else if (`startblock') {
          if ("`LV`j''" != "") {
          display as error "missing ="
          error 197
          }
          if (_byindex() == 1) {
          capture confirm new variable ``tok_i''
          if (_rc == 110) {
          capture quietly drop ``tok_i''
          }
          }
          local LV`j' ``tok_i''
          }
          else {
          foreach var of varlist ``tok_i'' {
          local i`j' "`i`j'' `var'"
          }
          }
          }
        - else {
        - error 197
    invalid syntax
          }
          local ++tok_i
          }
        ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- end plssem.Estimate ---
        }
      ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ end plssem ---
    r(197);
    
    end of do-file
    
    r(197);
    
    .
Working...
X