小弟先用RODBC读取ACCESS文件,如下:
##用RODBC包从Access读取文件
library(RODBC)
odbcCloseAll()
temp <- odbcConnectAccess(
"C:\\R\\chntrp09.mdb")
dat <- sqlFetch(temp,
"chntrp09",
max =
24)
close (temp)
得到以下数据:
家庭编号 个人编号 出行次数 权数 行程次数
HOUSEID PERSONID TDTRPNUM WTTRDFIN TOUR TOUR_SEG TOURTYPE TRPCNT STOPS TOUR_FLG
1 20000017 1 1 68170.67 1 1 HO 1 0 0
2 20000017 1 2 68170.67 2 1 OO 1 0 0
3 20000017 1 3 68170.67 3 1 OH 1 0 0
4 20000017 1 4 68170.67 4 1 HO 1 0 0
5 20000017 1 5 68170.67 5 1 OH 1 0 0
6 20000017 2 1 69589.50 1 1 HO 2 1 1
7 20000017 2 2 69589.50 1 2 HO 2 1 1
8 20000017 2 3 69589.50 2 1 OO 2 1 1
9 20000017 2 4 69589.50 2 2 OO 2 1 1
10 20000017 2 5 69589.50 3 1 OH 2 1 1
11 20000017 2 6 69589.50 3 2 OH 2 1 1
12 20000017 2 7 69589.50 4 1 HO 1 0 0
13 20000017 2 8 69589.50 5 1 OH 1 0 0
14 20000231 1 1 522885.47 1 1 HW 2 1 1
15 20000231 1 2 522885.47 1 2 HW 2 1 1
16 20000231 1 3 522885.47 2 1 WH 1 0 0
17 20000231 1 4 522885.47 3 1 HW 1 0 0
18 20000231 1 5 522885.47 4 1 WH 1 0 0
19 20000521 1 1 117718.43 1 1 HO 1 0 0
20 20000521 1 2 117718.43 2 1 OH 3 2 1
21 20000521 1 3 117718.43 2 2 OH 3 2 1
22 20000521 1 4 117718.43 2 3 OH 3 2 1
23 20000521 2 1 132561.49 1 1 HO 1 0 0
24 20000521 2 2 132561.49 2 1 OH 1 0 0
我的目的是得到家庭中每个人一天的出行次数(TDTRPNUM)和行程次数(TOUR),因为原数据是按从1到N排列,而我想要的只是那个“N“,即总数。例如:我在这里列出了三个家庭(20000017,20000231和20000521)。家庭编号为20000017的第1个人,一天一共出行了5次(TDTRPNUM),行程一共是8次(TOUR),我想得到的是5和8。并且在旁边列出对应权数。应该如何在RODBC里用SQL语言查询呢??或者,大侠们有什么更好的办法?
以下是我想得到的数据列表样式:
家庭编号 个人编号 出行次数 权数 行程次数
HOUSEID PERSONID TDTRPNUM WTTRDFIN TOUR
1 20000017 1 5 68170.67 5
2 20000017 2 8 69589.50 5
3 20000231 1 5 522885.47 4
4 20000521 1 4 117718.43 2
5 20000521 2 2
132561.49 2
多谢了。