我有一个非常大的数据集,需要仅针对某些变量进行细化。这些变量'名称遍布各处,但每个想要变量的标签都以" AW"开头。有没有办法使用keep
或类似命令来保留这些变量?
答案 0 :(得分:2)
为此你可能需要一个循环。
import static java.lang.System.*;
public class NumberCompareRunner
{
public static void main( String args[] )
{
NumberCompare test = new NumberCompare(5,6);
out.println(test);
out.println("largest == " + test.getLargest());
out.println("smallest == " + test.getSmallest()+"\n\n");
test.setNums(45,45);
out.println(test);
out.println("largest == " + test.getLargest());
out.println("smallest == " + test.getSmallest()+"\n\n");
test.setNums(-25,10324);
out.println(test);
out.println("largest == " + test.getLargest());
out.println("smallest == " + test.getSmallest()+"\n\n");
}
}
第二个// create sample data
clear
set obs 1
generate x = 1
generate y = 2
generate z = 3
label variable x "AW test"
label variable y "XW test"
label variable z "AQ test"
describe
// do the job
foreach var of varlist x-z {
local lbl : variable label `var'
if substr("`lbl'",1,2)!="AW" drop `var'
}
describe
将显示只剩下变量x。
答案 1 :(得分:1)
官方命令ds
和用户编写的命令findname
( Stata Journal :使用search findname
下载最新版本)将识别此类变量,之后{ {1}}可以直接使用。
keep