楼主: tomy70585
2261 9

[字符问题求助] 多個變數轉數值變量 [推广有奖]

  • 0关注
  • 0粉丝

硕士生

17%

还不是VIP/贵宾

-

威望
0
论坛币
76 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
7437 点
帖子
35
精华
0
在线时间
240 小时
注册时间
2013-10-8
最后登录
2014-6-14

楼主
tomy70585 发表于 2013-10-30 17:25:16 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
先將一下一開始我遇到的問題

date110111021103

2012/12/28

115,034,923

123,278,231

23,171,713

2012/9/28

112,042,034

121,429,460

22,624,991

2012/6/29

112,213,937

125,323,946

23,613,683

2012/3/30

107,742,951

124,763,698

24,768,219

2011/12/30

108,064,151

123,243,525

24,119,087



(1101 1102 1103 為股票代碼,裡面的數值為資產值)

問題一:
這是我一開始在excel的資料

而當我轉CSV檔,insheet 到STATA的時候

這時全部變成了字符變量

本來是想說,如果透過destring或encode的話

還可以繼續往下整理數據

但是我的公司有一千四百多家

也就是輸入到STATA的時候 變數高達一千四百多個

若用destring或encode的話 我不知道該怎麼去整理



問題二
如果我想整理成以下這種格式(panel data)

dateID(股票代碼)資產

2012/12/28

1101

115,034,923

2012/9/28

1101

112,042,034

2012/6/29

1101

112,213,937

2012/3/30

1101

107,742,951

2011/12/30

1101

108,064,151

2012/12/28

1102

123,278,231

2012/9/28

1102

121,429,460

2012/6/29

1102

125,323,946

2012/3/30

1102

124,763,698

2011/12/30

1102

123,243,525

2012/12/28

1103

23,171,713

2012/9/28

1103

22,624,991

2012/6/29

1103

23,613,683

2012/3/30

1103

24,768,219

2011/12/30

1103

24,119,087



那我應該如何從原始的資料下手



已經從版上看了很多文章了,但絲毫無頭緒

望高人可以指點迷津
二维码

扫码加我 拉你入群

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

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

关键词:panel data destring insheet encode string encode excel

沙发
jose.liupei 发表于 2013-11-1 03:00:32
reshape可以解決第二個問題
未出土時先有節,及凌雲處尚虛心

藤椅
tomy70585 发表于 2013-11-5 12:09:16
樓上的大大,我想了很久,還是不知道怎麼下手
可以提示一下嗎

板凳
逍遥梦蝶 发表于 2013-11-5 18:09:14
难道是台湾的同学?呵呵~
因为变量取值中有逗号,所以从Excel转到Stata里就被Stata当成了字符型变量,你应该首先解决掉这个问题。
提供一个命令解决逗号的问题,供你参考
gen newvar=subinstr(oldvar, ",", "", .)

报纸
逍遥梦蝶 发表于 2013-11-5 18:10:30
第二个问题,help reshape long,就能知道怎么做了。

地板
tomy70585 发表于 2013-11-5 18:38:12
逍遥梦蝶 发表于 2013-11-5 18:09
难道是台湾的同学?呵呵~
因为变量取值中有逗号,所以从Excel转到Stata里就被Stata当成了字符型变量,你应 ...
如果透過此一命令的話,我目前有一千多家公司,不就要操作一千四百多次...

7
蓝色 发表于 2013-11-5 19:22:35
请提供你自己使用的数据
excel或者dta的都可以

然后就容易实现你说的那些东西了

8
逍遥梦蝶 发表于 2013-11-5 20:15:01
tomy70585 发表于 2013-11-5 18:38
如果透過此一命令的話,我目前有一千多家公司,不就要操作一千四百多次...
reshape你有试过了吗?
不行的话编一个循环的程序吧,再或者,你在excel里面处理好了再导入stata

9
tomy70585 发表于 2013-11-5 22:51:20
蓝色 发表于 2013-11-5 19:22
请提供你自己使用的数据
excel或者dta的都可以
TA.xlsx (553.09 KB)

這是EXCEL檔的數據



10
tomy70585 发表于 2013-11-14 19:16:11
自問自答...

最後是透過stat transfer 解決

一開始透過excel 整理成以下格式

AB.xlsx (417.23 KB)

擷取部分資料
date1101110211031104

2012/12/28

38.81

19.17

5.01

10.09

2012/9/28

34.60

18.94

4.72

9.42

2012/6/29

33.44

18.21

.

9.53

2012/3/30

.

19.34

4.22

9.96

2011/12/30

37.84

19.32

4.69

10.13



一樣 上面的1101 1102 1103 1104為公司代碼
而空格的部分直接取代為「.」,格式調整為數值
(希望STATA可以視為缺失值)

然後透過stat transfer轉換
ab.zip (110.49 KB) 本附件包括:
  • ab.dta

一樣擷取部分資料


date_1101_1102_1103_1104

28-Dec-12

38.81

19.17

5.01

10.09

28-Sep-12

34.6

18.94

4.72

9.42

29-Jun-12

33.44

18.21

.

9.53

30-Mar-12

.

19.34

4.22

9.96

30-Dec-11

37.84

19.32

4.69

10.13



此時運用指令
reshape long _ , i(date) j(_ID)
rename  _ID ID
rename _ AB


形成我要的格式
AB-1.zip (271.11 KB) 本附件包括:
  • AB-1.dta


以上
謝謝大家



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

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2026-1-17 08:19