Stata 我能';t从字符串到字节或从字节到字符串重铸变量

Stata 我能';t从字符串到字节或从字节到字符串重铸变量,stata,Stata,我有两个数据集要使用Stata 15.1进行合并。在执行此操作之前,我需要确保用于加入数据集的参考变量的存储类型相同,Country和year变量。我将year变量更改为字节类型,没有任何问题;但是,Country变量(当前为str26类型)出现错误Country:byte invalid 我还尝试转到存储类型为byte的Country主数据文件,并将其更改为字符串,但相同的错误显示,Country:str26 invalid 我尝试过使用force重铸str26 Country,force,除

我有两个数据集要使用Stata 15.1进行合并。在执行此操作之前,我需要确保用于加入数据集的参考变量的存储类型相同,
Country
year
变量。我将
year
变量更改为字节类型,没有任何问题;但是,
Country
变量(当前为
str26
类型)出现错误
Country:byte invalid

我还尝试转到存储类型为byte的
Country
主数据文件,并将其更改为字符串,但相同的错误显示,
Country:str26 invalid


我尝试过使用force
重铸str26 Country,force
,除此之外,我不知道该怎么办。

字节是一种用于存储数字而不是字符串的数据类型(请参阅)。我建议确保将
country
变量存储为两个数据集中字符数相同的字符串,足以捕获名称最长的国家(例如str30应该足够),并基于
country
进行合并。您还可以考虑使用值标签使用代码< >代码> <代码>来重写国家变量,但是您需要确保在两个数据集中每个国家具有相同的整数值。请考虑使用<代码> DATAEX < /C> >(<代码> SSC安装DATAEX < /代码>)来共享两个数据集的示例。字节变量能够存储从-127到100的值。我会担心年份变量是否为byte类型。
recast
不能用于跨越字符串变量和数字变量之间的界限。使用值标签(假设它们存在)生成字符串变量是最安全的方法,但拼写的一致性至关重要<代码>合并完全是文字,空格或其他标点符号的差异、大写和小写的使用以及相同名称的长短版本可能会产生问题。对于任何用于组合文件的函数或命令,在任何其他语言或环境中都是如此。前面经常有详细的编辑工作,force帮不了你。