问题:Produce two-way tables showing the numbers of patients who were and were not advised to stop smoking,
by patient gender, race and number of cigarettes smoked.——说白了,就是将变量Advised( = 1或者0)、
变量sex(取值 F 或者 M )的个数统计出来,总共2X2=4种可能,值放在一个矩阵里面。本人是写了个程序弄出来了,
但感觉太过复杂了,如果把其他的2个矩阵也写出来的话(变量Advised对变量Race、变量Advised对变量Cigs)程序将会显得
很复杂,请问高手有没有很好的函数,来取代本人的这种通过循环来给矩阵赋值的方法?
我的程序如下(只是完成了3个table(matrix)之其一)
values<-numeric(4)
count<-0
for(j in 1:length(data2[,1]))
{if (data2[j,2]=="F"&&data2[j,5]==1)count=count+1}
values[1]<-count
count<-0
for(j in 1:length(data2[,1]))
{if (data2[j,2]=="M"&&data2[j,5]==1)count=count+1}
values[2]<-count
count<-0
for(j in 1:length(data2[,1]))
{if (data2[j,2]=="F"&&data2[j,5]==0)count=count+1}
values[3]<-count
count<-0
for(j in 1:length(data2[,1]))
{if (data2[j,2]=="M"&&data2[j,5]==0)count=count+1}
values[4]<-count
table_advise_gender<-matrix(values,2,byrow=TRUE,dimnames = list(c("stop",
"not"),c("F", "M"))) # the two way table for advise by gender
数据如下:
> data2
Doctor Sex Race Cigs Advised
1 1 F AfrAm Low 1
2 1 F AfrAm Med 1
3 1 M AfrAm Med 1
4 1 M AfrAm High 1
5 1 M AfrAm Low 1
6 1 F White Low 1
7 1 M AfrAm High 1
8 1 M AfrAm Med 0
9 1 M AfrAm Med 0
10 1 F AfrAm Med 0
11 1 F AfrAm High 0
12 1 F AfrAm Med 0
13 1 F AfrAm Low 0
14 1 F AfrAm High 0
15 1 F White Med 0
16 1 F AfrAm Low 0
17 1 F AfrAm Low 0
18 1 F AfrAm Low 0
19 1 F AfrAm Low 0
20 1 M AfrAm Low 0
21 1 F AfrAm Low 0
22 1 F AfrAm High 0
23 2 F AfrAm Med 1
24 2 F AfrAm Low 1
25 2 M AfrAm Low 1
26 2 F AfrAm Low 1
27 2 F AfrAm Low 0
28 2 M AfrAm Med 0
29 2 F AfrAm Low 0
30 3 F AfrAm Med 0
31 3 F AfrAm Med 0
32 3 F AfrAm Low 0
33 3 F White High 0
34 4 F White Low 1
35 4 F AfrAm Low 1
36 4 M AfrAm High 1
37 4 F AfrAm Med 1
38 4 F White Low 1
39 4 M AfrAm High 1
40 4 F AfrAm High 1
41 5 F AfrAm Med 1
42 5 M AfrAm High 1
43 5 M AfrAm Med 1
44 5 M AfrAm Med 1
45 5 F White High 1
46 5 F AfrAm Low 1
47 5 F AfrAm Med 1
48 5 F AfrAm Low 1
49 5 M AfrAm Med 1
50 5 M White Low 1
51 5 F White Med 1
52 5 M AfrAm Med 1
53 5 M White Med 1
54 5 M AfrAm Med 1
55 5 F AfrAm Low 1
56 5 F AfrAm Med 1
57 5 F AfrAm Low 1
58 5 M White Med 1
59 5 F AfrAm Med 1
60 5 M AfrAm Low 1
61 5 F AfrAm Med 1
62 5 M White Low 1
63 5 F AfrAm Low 1
64 5 F White Med 1
65 5 F White Low 1
66 5 F AfrAm Low 0
67 6 M AfrAm Low 0
68 6 F AfrAm Low 0
69 6 F AfrAm Low 0
70 6 F AfrAm Low 0
71 6 F AfrAm High 0
72 6 F White Med 0
73 6 F AfrAm Low 0
74 6 F AfrAm Low 0
75 6 M AfrAm Low 0
76 6 F White Low 0
77 6 F AfrAm Low 0
78 7 F AfrAm Med 0
79 7 M AfrAm Low 0
80 7 F AfrAm Low 0
81 7 M AfrAm High 0
82 7 M AfrAm Low 0
83 7 F AfrAm Low 0
84 7 M AfrAm Med 0
85 7 M AfrAm Low 0
86 7 M White Med 0
87 7 F AfrAm Low 0
88 7 M AfrAm Med 0
89 7 F White Low 0
90 7 F AfrAm Low 0
91 7 M White Low 0
92 7 F AfrAm High 0
93 7 F AfrAm Med 0
94 7 F White Med 0
95 7 F AfrAm Low 0
96 7 F AfrAm Med 0
97 7 F AfrAm Low 0
98 7 F AfrAm Low 0
99 7 F AfrAm Med 0
100 7 F AfrAm Low 0
101 7 F AfrAm Low 0
102 7 F AfrAm High 0
103 7 F White Low 0
104 7 M White Med 0
105 7 M AfrAm Low 0
106 8 F White Low 0
107 8 F AfrAm Med 0
108 8 M AfrAm Med 0
109 8 F AfrAm Med 0
110 8 F AfrAm Low 0
111 8 F AfrAm Low 0
112 8 F AfrAm Low 0
113 8 F AfrAm Low 0
114 8 F AfrAm Low 0
115 8 F White Med 0
116 8 M AfrAm Med 0
117 9 M AfrAm High 1
118 9 F AfrAm High 0
119 9 F White Low 0
120 9 F AfrAm Med 0
121 10 M AfrAm Low 0
122 11 M AfrAm Low 1
123 11 F AfrAm Low 0
124 11 F AfrAm Low 0
125 11 F AfrAm Med 0
126 12 F AfrAm Low 1
127 12 M White Med 1
128 12 F AfrAm Low 1
129 12 M AfrAm Low 1
130 12 M AfrAm Low 1
131 12 F White Low 0
132 12 F AfrAm Med 0
133 12 F AfrAm Low 0
134 12 F AfrAm Low 0
135 12 M White Low 0
136 12 F White High 0
137 12 F AfrAm Low 0
138 12 F AfrAm Low 0
139 12 M White Low 0
140 13 F AfrAm Med 1
141 13 F AfrAm Low 1
142 13 F White Low 1
143 13 F White Med 1
144 13 F AfrAm Low 1
145 13 M AfrAm Low 1
146 13 F AfrAm Low 1
147 14 F AfrAm High 1
148 14 F AfrAm Low 1
149 14 F AfrAm Med 1
150 14 F AfrAm Low 1
151 14 M AfrAm Low 1
152 14 F AfrAm Low 1
153 14 M AfrAm High 1
154 14 F AfrAm Low 1
155 14 F AfrAm Low 1
156 14 F White Low 1
157 14 F White Med 1
158 14 F AfrAm Low 0
159 14 M AfrAm Low 0
160 14 M AfrAm Low 0
161 14 M AfrAm Med 0
162 14 F White Low 0
163 14 F White Low 0
164 14 M AfrAm Low 0
165 14 F AfrAm Med 0
166 14 F White Low 0
167 14 F AfrAm Low 0
168 14 F AfrAm Med 0
169 14 F AfrAm Low 0
170 14 F White Low 0
171 14 F AfrAm Low 0
172 14 F White Low 0
173 15 F White Low 1
174 15 F AfrAm High 1
175 15 M AfrAm Low 1
176 15 F AfrAm High 1
177 15 M AfrAm Low 1
178 15 F AfrAm Low 1
179 15 M AfrAm Low 1
180 15 F AfrAm Low 0
181 15 M AfrAm Low 0
182 15 F AfrAm Med 0
183 15 F AfrAm Low 0
184 15 F AfrAm Low 0
185 15 M AfrAm Low 0
186 16 F AfrAm Med 1
187 16 F AfrAm High 1
188 16 F White High 1
189 16 F White Med 1
190 16 F AfrAm Low 1
191 17 F AfrAm High 1
192 17 M AfrAm Low 1
193 17 M AfrAm High 1
194 17 M White Low 1
195 17 F AfrAm Med 1
196 17 M AfrAm Low 1
197 17 F AfrAm Low 1
198 17 M AfrAm Med 1
199 17 F AfrAm Low 1
200 17 M White Low 1
201 17 F AfrAm Low 1
202 17 M AfrAm Low 1
203 17 M AfrAm High 1
204 17 F AfrAm Med 1
205 17 F White Med 1
206 17 M AfrAm Low 1
207 17 F AfrAm High 1
208 17 F AfrAm Low 1