623 1

[回归分析求助] 救救大学牲的stata split 数据处理··· [推广有奖]

  • 0关注
  • 0粉丝

小学生

0%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0.0967
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
70 点
帖子
2
精华
0
在线时间
4 小时
注册时间
2024-5-30
最后登录
2024-8-18

相似文件 换一批

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
想问一下对于这种一个单元格里分了行的变量数据怎么把它们分离出来变成单独的几列啊 好像要用split但是不知道用什么来分割 空格有但是单词之间也有空格不知道用什么来split ps:  就是本来是 nationofalliance                          United States
                          Japan
变成   nationofalliance1  nationofalliance2
             United States    Japan
救救大学生···
下载.png



二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:split Stata 数据处理 tata alliance

沙发
赵安豆 发表于 2024-7-14 12:03:43 |只看作者 |坛友微信交流群
在Stata中处理这种数据,你可以使用`split`命令,但是由于你的数据是以换行符来分隔的而不是空格,你首先需要将换行符转换成某种可以识别的分隔符。这里是一种可能的方法:

1. 首先,你需要将单元格中的换行符替换为一个Stata能够识别的特殊字符或字符串,例如 `|` 或者 `,`。这可以通过 `replace` 命令来实现:
   ```stata
   replace nationofalliance = strtoname("x'" + nationofalliance + "'")'
   ```
   但是这里有一个更直接的方法使用 `stringr` 的 `strtr()` 函数,如果你的Stata版本是15或以上,可以直接用下面这个命令替换换行符为 `,`:
   ```stata
   stringr strtr nationofalliance, "\n", ","
   ```

2. 接下来,你就可以使用 `split` 命令根据逗号来拆分列了。注意在Stata中使用 `split` 时,需要先删除原有的变量,并且确保新生成的变量名字是唯一的:
   ```stata
   drop nationofalliance
   split nationofalliance, p(",") gen(nationofalliance)
   ```
   
3. 上面的命令会根据逗号将原列拆分成多个新的列,列的名字会是 `nationofalliance1`, `nationofalliance2` 等等。

但是考虑到你提到的数据结构和需求,更推荐的方法是在数据导入阶段就处理好格式。如果可能的话,在导出数据时就使用逗号、分号或其他非空格字符来分隔不同的值会更方便后续的分析。

如果你的数据是从某个文件读取的,并且这个文件中的数据是以换行符分割的,你也可以在读入数据的时候就处理这种结构。例如,如果你使用的是CSV文件,可以考虑修改你的脚本或数据格式,使其更适合Stata的处理方式。
   
希望这能帮到你!如果还有问题,请随时提问。

此文本由CAIE学术大模型生成,添加下方二维码,优先体验功能试用



使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-10-5 22:25