Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at statalist.org.
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
st: AW: AW: AW: AW: AW: AW: AW: AW: Detach value label from string var
From
"Kaulisch, Marc" <[email protected]>
To
<[email protected]>
Subject
st: AW: AW: AW: AW: AW: AW: AW: AW: Detach value label from string var
Date
Wed, 7 Apr 2010 19:16:41 +0200
Oh even more:
The definition of the string vars in Martin's solution should be placed after the solution Martin proposed in
http://www.stata.com/statalist/archive/2010-04/msg00252.html
-labelrename- does not like string vars either...
-----Ursprüngliche Nachricht-----
Von: [email protected] [mailto:[email protected]] Im Auftrag von Kaulisch, Marc
Gesendet: Mittwoch, 7. April 2010 19:05
An: [email protected]
Betreff: st: AW: AW: AW: AW: AW: AW: AW: Detach value label from string var
Martin,
Thanks a lot for this excellent solution.
It bites me when I try to reduce the number of value labels because I cannot label strings ;-)
My change (see below) does not work.
****
findname, type(string) vall
la de vall_str 0 "t"
foreach var of varlist `r(varlist)' {
la value `var' vall_str
}
****
and using -labeldup- (user-written program) after defining value labels attached to strings creates the same error.
-labeldup- works well when the labels are not defined ;-)
Marc
-----Ursprüngliche Nachricht-----
Von: [email protected] [mailto:[email protected]] Im Auftrag von Martin Weiss
Gesendet: Mittwoch, 7. April 2010 18:37
An: [email protected]
Betreff: st: AW: AW: AW: AW: AW: AW: Detach value label from string var
<>
" ds, has(type string)
ds `r(varlist)', has(vallabel)"
Or, in one fell swoop, with Nick`s recent ssc contribution -findname-:
*************
cap which findname
if _rc ssc inst findname
findname, type(string) vall
*************
HTH
Martin
-----Ursprüngliche Nachricht-----
Von: [email protected]
[mailto:[email protected]] Im Auftrag von Martin Weiss
Gesendet: Mittwoch, 7. April 2010 18:35
An: [email protected]
Betreff: st: AW: AW: AW: AW: AW: Detach value label from string var
<>
So here is a way to fake-define a -value label- for the string vars that (seem to) have a -value label-. The example follows from the fake dataset created in my earlier conversation with Marc:
*************
clear*
xmluse stata_out.xml
ds, has(type string)
ds `r(varlist)', has(vallabel)
foreach var of varlist `r(varlist)'{
cap la de `:value label `var'' 0 "test" 1 "test1"
di in r "Now at value label: `:val la `var'', RC is: " _rc }
*************
The example shows the value of -ds- once again. We need to -capture- the creation of the -label- since the same -label- may well be attached to two different variables, as is the case in my example. In the second line, the return code shows whether there was a problem or not.
HTH
Martin
-----Ursprüngliche Nachricht-----
Von: [email protected]
[mailto:[email protected]] Im Auftrag von Kaulisch, Marc
Gesendet: Mittwoch, 7. April 2010 18:20
An: [email protected]
Betreff: st: AW: AW: AW: AW: Detach value label from string var
Martin,
I certainly can reproduce the behaviour with your example. So I get the point that "string vars with embedded blanks" has nothing to do with the value labels attached to string vars. But I get problems with empty value labels attached to string vars.
For example
. mlanguage add val, saving(val) // mlanguage is a user-written program Produces an error because mylabel is not defined. Info: -labelbook, p- does not see a problem in this example.
It is possible to define mylabel
. la de mylabel 0 "test" 1 "test1"
Then: -mlanguage- works.
So a solution to my problem would be to define all value labels attached to a string var. Another solution would be to do not attach empty value labels to string vars in the first place (my favorite solution).
Or on Stata-side
- to improve the XML-Import that either such attachements to string vars are ignored or an error while importing is shown
- to allow the detachment of value labels from string vars
Marc
-----Ursprüngliche Nachricht-----
Von: [email protected]
[mailto:[email protected]] Im Auftrag von Martin Weiss
Gesendet: Dienstag, 6. April 2010 18:47
An: [email protected]
Betreff: st: AW: AW: AW: Detach value label from string var
<>
It is indeed a little weird that one can attach a -value label- to a string variable with -xmluse-, which is certainly not possible via the "variables manager" - where the necessary button is disabled for string variables. I am not sure whether this behavior has any real bearing on your "string var with embedded blanks issue", though. Try this:
*************
sysuse auto, clear
gen str1 newstrvar=cond(_n<50,"A","B")
xmlsave stata_out.xml, doctype(dta) replace !start stata_out.xml
*************
At this point, you edit lines 62 and 74 of the resulting xml file to read:
<lblname varname='make'>mylabel</lblname>
and
<lblname varname='newstrvar'>mylabel</lblname>
respectively.
You save the xml file and continue:
*************
clear*
xmluse stata_out.xml
d
codebook, p
*************
The result is:
. codebook, p
Potential problems in dataset stata_out.xml
potential problem variables
--------------------------------------------------
strvars that may be compressed make
string vars with embedded blanks make
--------------------------------------------------
This result leads me to believe that "string vars with embedded blanks" has nothing to do with the value labels attached to string vars, and everything with the values of the variable itself. Otherwise, "newstrvar" would have to show up in the -codebook- results as well.
HTH
Martin
-----Ursprüngliche Nachricht-----
Von: [email protected]
[mailto:[email protected]] Im Auftrag von Kaulisch, Marc
Gesendet: Dienstag, 6. April 2010 18:17
An: [email protected]
Betreff: st: AW: AW: Detach value label from string var
We import our data by a XML-file where <lbllist> is given for all vars (e.g.
<lblname varname='BN15_2__5'>BN15_2</lblname>) despite (non-)existing value labels defined under <value labels>.
A trick would be to remove the value labels for all string vars in the XML-definition <lblname>. I hoped to do this by a Stata command and not going back to our contractor changing the export-mechanism...
Marc
-----Ursprüngliche Nachricht-----
Von: [email protected]
[mailto:[email protected]] Im Auftrag von Martin Weiss
Gesendet: Dienstag, 6. April 2010 16:35
An: [email protected]
Betreff: st: AW: Detach value label from string var
<>
What does "importing a dataset" mean? The effect does not seem to occur
here:
*************
sysuse auto, clear
outsheet using myfile.csv, comma replace
clear*
insheet using myfile.csv, comma clear
d
la dir
codebook, p
*************
-codebook- returns "make" as a "string var with embedded blanks", but how is this issue connected to any -label-?
HTH
Martin
-----Ursprüngliche Nachricht-----
Von: [email protected]
[mailto:[email protected]] Im Auftrag von Kaulisch, Marc
Gesendet: Dienstag, 6. April 2010 15:32
An: [email protected]
Betreff: st: Detach value label from string var
Another problem I cannot solve myself:
By importing a dataset all variables get label values attached - also string vars. This leads to "string vars with embedded blanks" by codebook, p.
For numeric vars with empty value labels I used:
. label values `r(labelnotfound)' .
But
. label values `r(str_embedded)' .
does not work.
I even can not do this via the Variables Manager. Any idea how to do this?
*
* For searches and help try:
* http://www.stata.com/help.cgi?search
* http://www.stata.com/support/statalist/faq
* http://www.ats.ucla.edu/stat/stata/
*
* For searches and help try:
* http://www.stata.com/help.cgi?search
* http://www.stata.com/support/statalist/faq
* http://www.ats.ucla.edu/stat/stata/
*
* For searches and help try:
* http://www.stata.com/help.cgi?search
* http://www.stata.com/support/statalist/faq
* http://www.ats.ucla.edu/stat/stata/
*
* For searches and help try:
* http://www.stata.com/help.cgi?search
* http://www.stata.com/support/statalist/faq
* http://www.ats.ucla.edu/stat/stata/
*
* For searches and help try:
* http://www.stata.com/help.cgi?search
* http://www.stata.com/support/statalist/faq
* http://www.ats.ucla.edu/stat/stata/
*
* For searches and help try:
* http://www.stata.com/help.cgi?search
* http://www.stata.com/support/statalist/faq
* http://www.ats.ucla.edu/stat/stata/
*
* For searches and help try:
* http://www.stata.com/help.cgi?search
* http://www.stata.com/support/statalist/faq
* http://www.ats.ucla.edu/stat/stata/
*
* For searches and help try:
* http://www.stata.com/help.cgi?search
* http://www.stata.com/support/statalist/faq
* http://www.ats.ucla.edu/stat/stata/
*
* For searches and help try:
* http://www.stata.com/help.cgi?search
* http://www.stata.com/support/statalist/faq
* http://www.ats.ucla.edu/stat/stata/