Stata 连接唯一变量项

Stata 连接唯一变量项,stata,Stata,我正在尝试连接几个字符串变量(c1,c2等): 我可以使用以下命令将它们连接起来: generate c = c1 + c2 + c3 + c4 + c5 如何仅加入其唯一条目 AKJ OFE ETH 345 952 319 123 另一种解决方案如下: clear input str3(c1 c2 c3 c4 c5) AKJ OFE ETH AKJ AKJ 345 952 319 123 345 end local vars c2 c3 c4 c5 local dvars c1 ge

我正在尝试连接几个字符串变量(
c1
c2
等):

我可以使用以下命令将它们连接起来:

generate c = c1 + c2 + c3 + c4 + c5
如何仅加入其唯一条目

AKJ OFE ETH
345 952 319 123

另一种解决方案如下:

clear

input str3(c1 c2 c3 c4 c5)
AKJ OFE ETH AKJ AKJ
345 952 319 123 345
end

local vars c2 c3 c4 c5
local dvars c1

generate tempc1 = c1

foreach var of local vars {
    generate temp`var' = `var'
    foreach dvar of local dvars {
        replace temp`var' = "" if `var' == `dvar'
    }
    local dvars `dvars' `var'
}

egen c = concat(temp*), punct(" ")
drop temp*

list

     +-----------------------------------------------+
     |  c1    c2    c3    c4    c5                 c |
     |-----------------------------------------------|
  1. | AKJ   OFE   ETH   AKJ   AKJ       AKJ OFE ETH |
  2. | 345   952   319   123   345   345 952 319 123 |
     +-----------------------------------------------+

您好,我必须将所有列放在本地,然后我看到太多变量出错。您可以使用
ds
命令解决第一个问题,通过在循环中移动
drop
命令来解决第二个问题,从而逐个删除每个新变量。请注意,在Stata中没有列,仅限变量。实际上,您要检查倒数第二个变量是否与第一个相同。这在本例中有效,但配方不够通用。您需要检查从第二个开始的每个变量是否与前面的任何变量都不相同。抱歉,上面的注释是正确的。缺少一行,每个循环中的本地
DVAR
应该更新,以便从第二个循环开始检查每个变量。这是在上述代码中编辑的。
clear

input str3(c1 c2 c3 c4 c5)
AKJ OFE ETH AKJ AKJ
345 952 319 123 345
end

local vars c2 c3 c4 c5
local dvars c1

generate tempc1 = c1

foreach var of local vars {
    generate temp`var' = `var'
    foreach dvar of local dvars {
        replace temp`var' = "" if `var' == `dvar'
    }
    local dvars `dvars' `var'
}

egen c = concat(temp*), punct(" ")
drop temp*

list

     +-----------------------------------------------+
     |  c1    c2    c3    c4    c5                 c |
     |-----------------------------------------------|
  1. | AKJ   OFE   ETH   AKJ   AKJ       AKJ OFE ETH |
  2. | 345   952   319   123   345   345 952 319 123 |
     +-----------------------------------------------+