Bookmark and Share

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: Detach value label from string var


From   "Martin Weiss" <[email protected]>
To   <[email protected]>
Subject   st: AW: AW: AW: AW: AW: AW: Detach value label from string var
Date   Wed, 7 Apr 2010 18:37:25 +0200

<> 


" 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/


© Copyright 1996–2018 StataCorp LLC   |   Terms of use   |   Privacy   |   Contact us   |   Site index