如何删除列x中但不在列y中的变量?

时间:2017-01-31 21:59:52

标签: stata

如何删除列x中出现但不出现在y列中的重复项?

我的数据集如下:

+-------+---+---+
| year  | x | y |
+-------+---+---+
|  2001 | 1 | 2 |
|  2001 | 2 | 3 |
|  2001 | 2 | 3 |
|  2001 | 4 | 6 |
|  2001 | 5 | 9 |
|  2001 | 4 | 2 |
|  2001 | 4 | 9 |
+-------+---+---+

我想要的是从列x中的条目中删除列y中出现的条目。 我的结果是:1,4,5

我目前正在学习Stata,我很想知道所有可能命令的良好来源,如果存在的话?所以我可以自己学习。目前我很难找到好的消息来源。

1 个答案:

答案 0 :(得分:1)

在Stata中,您所谓的列始终称为变量

有关如何在Stata问题中提供数据示例的一般建议,请参阅http://www.statalist.org/forums/help#stata。 (关于CODE分隔符的注释不适用于此处。)

这可能会有所帮助。我不明白year在你的问题中的作用。

clear 
input year   x  y 
  2001  1  2 
  2001  2  3 
  2001  2  3 
  2001  4  6 
  2001  5  9 
  2001  4  2 
  2001  4  9 
end 
rename x Datax 
rename y Datay 
gen long obs = _n 
reshape long Data, i(obs) j(which) string 
bysort Data (which) : drop if which[_N] == "y" 
list 

     +---------------------------+
     | obs   which   year   Data |
     |---------------------------|
  1. |   1       x   2001      1 |
  2. |   4       x   2001      4 |
  3. |   7       x   2001      4 |
  4. |   6       x   2001      4 |
  5. |   5       x   2001      5 |
     +---------------------------+

所有可能的命令都没有记录在一个地方。有人可以随时编写新命令,除了帮助文件外,它们不会被记录在任何地方。你的意思是?也不是所有现有命令都记录在一个地方:许多是用户编写的,其中大多数只是由他们的帮助文件记录。

StataCorp提供的Stata中的大多数官方命令都记录在手册中。从字面上看,还有一些未记录的命令(我没有发明这个:见help undocumented)并且还存在非文档命令,因为StataCorp在谈话或电子邮件中提及它们。尽可能积极:从手册开始,与您的Stata副本捆绑在一起作为.pdf文件。