markdly / conquestr

R package for working with ConQuest item response modelling software
Other
1 stars 0 forks source link

import .shw file?? #28

Closed LCisannoyed closed 6 years ago

LCisannoyed commented 6 years ago

Do you read in the .shw files? eg to get item errors No problems if you dont, I can write something.

markdly commented 6 years ago

This has available via the cq_show() function since https://github.com/markdly/conquestr/commit/6d37676dbfe8cdb3e38343658b5ce57e3504f454

Let me know if you encounter any issues!

Example:

library(conquestr)
cq_show(cq_example(display = FALSE, example_name = "ex1.shw"))
#> # A tibble: 9 x 13
#> # Groups:   term [1]
#>   params    est   err uw_mnsq uw_ci_lo uw_ci_hi  uw_t  mnsq ci_lo ci_hi
#>   <chr>   <dbl> <dbl>   <dbl>    <dbl>    <dbl> <dbl> <dbl> <dbl> <dbl>
#> 1 1   q1  0.39  0.072    0.74     0.92     1.08  -7    0.9   0.93  1.07
#> 2 2   q2 -1.48  0.076    0.86     0.92     1.08  -3.5  0.91  0.92  1.08
#> 3 3   q3 -1.14  0.073    2.39     0.92     1.08  24.9  1.66  0.92  1.08
#> 4 4   q4 -0.089 0.07     1.35     0.92     1.08   7.9  1.27  0.93  1.07
#> 5 5   q5  0.901 0.075    0.71     0.92     1.08  -7.9  0.88  0.92  1.08
#> 6 6   q6  0.558 0.073    0.63     0.92     1.08 -10.5  0.8   0.93  1.07
#> 7 7   q7  0.225 0.071    0.7      0.92     1.08  -8.1  0.84  0.93  1.07
#> 8 8   q8 -0.105 0.07     0.9      0.92     1.08  -2.5  0.94  0.93  1.07
#> 9 9   q9  0.743 0.074    0.64     0.92     1.08 -10    0.83  0.92  1.08
#> # ... with 3 more variables: t <dbl>, term <chr>, section_index <chr>

Created on 2018-05-13 by the reprex package (v0.2.0).

LCisannoyed commented 6 years ago

the cq_show() wont work on my show files. I presume this is because of the line txt <- txt %>% dplyr::mutate(value = trimws(.data$value)) %>% tidyr::separate(.data$value, c("params", "stats"), "\\s{7,}")

You command looks for a gap of at least 7 chars, but I have less. Feasibly it could be a gap of only 2 spaces between a long item name and a large item estimate I have tried to seperate based on the first 20 chars eg "^\\.{20}" instead of"\\s{7,}" but it wont work

Any ideas?

I have tables that look like

 1   q1_longlabe..    0.390   0.072    0.74 ( 0.92, 1.08) -7.0   0.90 ( 0.93, 1.07) -2.9                      
 2   q2_longlabe..   -1.485   0.076    0.86 ( 0.92, 1.08) -3.5   0.91 ( 0.92, 1.08) -2.4                      
 3   q3_longlabe..   -1.138   0.073    2.39 ( 0.92, 1.08) 24.9   1.66 ( 0.92, 1.08) 14.3                      
 4   q4_longlabe..   -0.089   0.070    1.35 ( 0.92, 1.08)  7.9   1.27 ( 0.93, 1.07)  6.7                      
 5   q5_longlabe..    0.901   0.075    0.71 ( 0.92, 1.08) -7.9   0.88 ( 0.92, 1.08) -3.1                      
 6   q6_longlabe..    0.558   0.073    0.63 ( 0.92, 1.08)-10.5   0.80 ( 0.93, 1.07) -5.7                      
 7   q7_longlabe..    0.225   0.071    0.70 ( 0.92, 1.08) -8.1   0.84 ( 0.93, 1.07) -4.7                      
 8   q8_longlabe..   -0.105   0.070    0.90 ( 0.92, 1.08) -2.5   0.94 ( 0.93, 1.07) -1.6                      
 9   q9_longlabe..    0.743*  0.074    0.64 ( 0.92, 1.08)-10.0   0.83 ( 0.92, 1.08) -4.8