Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at statalist.org.
Attachment:
example.xlsx
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: st: any idea?
From
"Y.R.E. Retamal" <[email protected]>
To
[email protected]
Subject
Re: st: any idea?
Date
Sun, 05 Jan 2014 20:46:36 +0000
Dear Guys
Some weeks ago, Red Owl and Nick helped me with some loops for my work.
I have tried to run some suggestion in my dataset, but I had some
difficulties.
I give you the basic structure of my dataset and my question:
I want to create some new variables containing the difference between
the length of two individuals from different groups:
id side length newvar1 newvar2 newvar3
1 right x x-j x-k x-l
2 right y y-j y-k y-l
3 right z z-j z-k z-l
4 left j j-x j-y j-z
5 left k k-x k-y k-z
6 left l l-x l-y l-z
Red Owl suggested me following this example:
*** BEGIN CODE ***
* Build demo data set.
clear
* Length is capitalized to distinguish from length().
input id str5(side) Length
1 right 10
2 right 15
3 right 11
4 left 13
5 left 10
6 left 12
end
gen byte newvar1 = .
forval i = 1/3 {
replace newvar1 = Length[`i'] - Length[4] in `i'
}
forval i = 4/6 {
replace newvar1 = Length[`i'] - Length[1] in `i'
}
gen byte newvar2 = .
forval i = 1/3 {
replace newvar2 = Length[`i'] - Length[5] in `i'
}
forval i = 4/6 {
replace newvar2 = Length[`i'] - Length[2] in `i'
}
gen byte newvar3 = .
forval i = 1/3 {
replace newvar3 = Length[`i'] - Length[6] in `i'
}
forval i = 4/6 {
replace newvar3 = Length[`i'] - Length[3] in `i'
}
list, noobs sep(0)
*** END CODE ***
However, my dataset is much more longer and is difficult to perform it.
I hope you can help me giving me more ideas.
I send you an extract of my dataset in .xlsx format
Also, the webpage suggested by Nick to review the discussion about the
topic (http://www.stata-journal.com/sjpdf.html?articlenum=dm0043)
redirects me to a non-sense file to download. Please give me the number
of the journal to read the discussion.
Happy new year to all of you
Rodrigo
On 2013-12-15 22:39, Y.R.E. Retamal wrote:
Dear Red Owl and Nick
Thank you very much for your response. The code works perfectly, just
as I need.
Best wishes
Rodrigo
On 2013-12-14 22:31, Nick Cox wrote:
In addition to Red's helpful suggestions, note that technique for such
paired data was discussed in
http://www.stata-journal.com/sjpdf.html?articlenum=dm0043
which is publicly accessible. The problem is that the identifiers in
Rodrigo's example appear to make little sense. How is Stata expected
to know that 1 and 4, 2 and 5, 3 and 6 are paired? Perhaps the
structure of the dataset is clearer in practice. If so, basic
calculations are just a couple of lines or so.
Nick
[email protected]
On 14 December 2013 15:33, Red Owl <[email protected]> wrote:
Rodrigo,
The following code demonstrates an approach with basic loops.
It could be made more efficient with a different loop
structure, but this approach may be more informative.
*** BEGIN CODE ***
* Build demo data set.
clear
* Length is capitalized to distinguish from length().
input id str5(side) Length
1 right 10
2 right 15
3 right 11
4 left 13
5 left 10
6 left 12
end
gen byte newvar1 = .
forval i = 1/3 {
replace newvar1 = Length[`i'] - Length[4] in `i'
}
forval i = 4/6 {
replace newvar1 = Length[`i'] - Length[1] in `i'
}
gen byte newvar2 = .
forval i = 1/3 {
replace newvar2 = Length[`i'] - Length[5] in `i'
}
forval i = 4/6 {
replace newvar2 = Length[`i'] - Length[2] in `i'
}
gen byte newvar3 = .
forval i = 1/3 {
replace newvar3 = Length[`i'] - Length[6] in `i'
}
forval i = 4/6 {
replace newvar3 = Length[`i'] - Length[3] in `i'
}
list, noobs sep(0)
*** END CODE ***
Good luck.
Red Owl
[email protected]
cannot find the way. Maybe you could help me. I want to create some
new
Y.R.E. Retamal" <[email protected]> Sat, 14 Dec 2013 12:08:42:
Dear list
I am very complicated trying to perform an analysis using STATA and
I
variables containing the difference between the length of two
individuals from different groups:
id side length newvar1 newvar2 newvar3
1 right x x-j x-k x-l
2 right y y-j y-k y-l
3 right z z-j z-k z-l
4 left j j-x j-y j-z
5 left k k-x k-y k-z
6 left l l-x l-y l-z
I do not know if I do explain myself clearly, the individuals are
bones (clavicles, for example), so it is possible that some right
clavicles pair-match with left clavicles, following the idea that an
individual has bone of similar length.
Any help could bring me a light!
Best wishes
Rodrigo
*
* For searches and help try:
* http://www.stata.com/help.cgi?search
* http://www.stata.com/support/faqs/resources/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/faqs/resources/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/faqs/resources/statalist-faq/
* http://www.ats.ucla.edu/stat/stata/
Description: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet