使用R计算空的excel单元格

时间:2014-02-13 11:57:01

标签: r

比方说,我们有四名大学生,我们希望通过在一些学术课上查看他们的成绩来研究他们的学习成绩。 例如

AM  GRADE1    DATE1      GRADE2    DATE2    LESSON CATEGORY CREDIT
3000010   5 20.02.2001          300012    YP      2
3000010   6 06.02.2001          300013    YP      2
3000010   7 09.02.2001          300014    YP      3
3000010   6 22.06.2001          300015    YP      2
3000010   9 21.02.2001          300044    EY      3
...
3050201   5 06.09.2006          300718    YP      3
3050201                         300012    YP      3
3050201                         300015    YP      3
3050201               2     06.10.2006  300049    YP      3
...
3070350   5 27.02.2009          300017    YP      3
3070350   6 23.02.2009          300613    YP      3
3070350               7     01.09.2009  300618    YP      3
3070350   9 11.02.2009          300619    YP      3
...
3900215   6 27.01.1992          300615    YP      3
3900215               5     13.10.1992  300616    YP      2
3900215               5     20.10.1992  300617    YP      3
3900215   7 19.06.1992          300620    YP      3
3900215   8 18.06.1992          300621    YP      2
etc

每个学生都有一个注册号码(AM),每节课(第一课)他们有两次机会通过课程。在DATE1(因此他们采用GRADE1)或DATE2(因此他们采用GRADE2)。 他们通过课程所需的最低成绩是5.
不要重视CATEGORY和CREDIT 因此,根据上表,AM = 3000010的学生,在LESSON = 300012的课程中,他在DATE1 = 20/2 / 2001日期通过了等级GRADE1 = 5。 AM = 3050201的学生于DATE2 = 6/10 / 2006参加了课程LESSON = 300049,他因成绩GRADE2 = 2而失败。
大多数课程代码(LESSON)对于许多学生来说很常见 成绩之前的空单元格(在GRADE1或DATE1中)表明学生有机会来上课并检查课程,但他没有。 例如,AM = 3070350的学生第二次(DATE2)用GRADE2 = 7传递LESSON = 300618,尽管他有机会再来一次(DATE1中的空单位,所以在GRADE1上)。

我的问题是,在R中构建一个算法,它可以在学生通过每一课之前计算空单元格(DATE或GRADE),或者未通过一个(例如AM = 3050201的学生来自DATE2 = 6/10/2006课程LESSON = 300049并且他的成绩GRADE2 = 2失败了,尽管他可能再来一次 - > DATE1 / GRADE1中的空单元格。 例如,对于学生AM = 3050201,如下所示

AM  GRADE1    DATE1        GRADE2    DATE2  LESSON   CATEGORY   CREDIT
3050201  ...            ...          300012    YP             3
3050201  ...            ...          300012    YP             3
3050201  ...            ...          300012    YP             3
3050201  ...            ...          300012    YP             3
3050201  ...                     6     12.02.10  300012    YP             3

R中的例程给出了结果empty_cells= 9 或者例如

AM  GRADE1    DATE1        GRADE2    DATE2  LESSON   CATEGORY   CREDIT
3050300  ...            ...          325012    YP             3
3050300  ...             2     10.02.06  325012    YP             3
3050300   0 12.01.07    ...          325012    YP             3
3050300  ...            ...          325012    YP             3
3050300  ...                     6     12.02.10  325012    YP             3

R中的例程给出了结果empty_cells= 7

AM  GRADE1    DATE1        GRADE2    DATE2     LESSON  CATEGORY CREDIT
3050756  ...            2   12.02.10   319011     YP          3

R中的例程给出了结果empty_cells= 1

例程必须适用于每个学生。

   AM GRADE1      DATE1 GRADE2      DATE2 LESSON CATEGORY CREDIT
1   3000010      5 20.02.2001     NA            300012       YP      2
2   3000010      6 06.02.2001     NA            300013       YP      2
3   3000010      7 09.02.2001     NA            300014       YP      3
4   3000010      6 22.06.2001     NA            300015       YP      2
5   3000010      9 21.02.2001     NA            300044       EY      3
6   3000010      9 19.06.2001     NA            300100       EY      3
7   3000010      9 13.02.2001     NA            300604       YP      3
8   3000010      8 29.06.2001     NA            300605       YP      4
9   3000010      7 03.07.2001     NA            300606       EY      2
10  3000010      9 21.06.2001     NA            300623       YP      2
11  3000010      6 26.06.2001     NA            300643       YP      2
12  3000010      8 06.02.2001     NA            300677       EY      3
13  3000010      8 19.06.2001     NA            300680       EY      3
14  3000010      9 12.02.2001     NA            300794       YP      2
15  3000010      7 04.02.2002     NA            300017       YP      3
16  3000010     NA                 9 30.09.2002 300090       EY      3
17  3000010      6 05.02.2002     NA            300613       YP      3
18  3000010     NA                 9 04.10.2002 300614       YP      3
19  3000010     NA                 9 27.09.2002 300618       YP      3
20  3000010     10 11.02.2002     NA            300619       YP      3
21  3000010     NA                 7 08.10.2002 300622       YP      3
22  3000010     NA                 8 11.10.2002 300632       YP      3
23  3000010     10 12.02.2002     NA            300674       YP      3
24  3000010      8 08.02.2002     NA            300678       EY      3
25  3000010     NA                 8 01.10.2002 300684       YP      3
26  3000010     10 14.02.2002     NA            300755       EY      3
27  3000010     10 08.07.2003     NA            300049       YP      3
28  3000010     10 20.02.2003     NA            300052       EY      3
29  3000010      8 05.03.2003     NA            300070       EY      3
30  3000010      9 02.07.2003     NA            300076       EY      3
31  3000010      8 13.03.2003     NA            300635       EY      3
32  3000010      9 01.07.2003     NA            300668       EY      3
33  3000010      8 02.07.2003     NA            300679       EY      3
34  3000010      9 04.03.2003     NA            300690       EY      3
35  3000010     10 08.03.2003     NA            300692       EY      3
36  3000010      9 07.03.2003     NA            300750       YP      3
37  3000010     10 02.07.2003     NA            300756       EY      3
38  3000010     10 01.07.2003     NA            300788       EY      3
39  3000010     NA                NA            300051       EY      3
40  3000010     NA                10 29.09.2004 300088       EY      3
41  3000010      7 31.03.2004     NA            300111       EY      3
42  3000010      8 31.03.2004     NA            300127       EY      3
43  3000010      8 02.07.2004     NA            300620       EY      3
44  3000010     NA                10 23.09.2004 300659       EY      3
45  3000010     NA                NA            300708       EY      3
46  3000010      8 29.06.2004     NA            300718       YP      3
47  3000010     NA                NA            300731       EY      3
48  3000010      0 15.03.2004     10 22.09.2004 300749       EY      3
49  3000010     NA                NA            300754       EY      3
50  3000010     NA                NA            300786       EY      3
51  3000010     NA                NA            300791       SE      3
52  3000010     10 08.02.2005     NA            900951      JGL      0
53  3050201      5 23.01.2006     NA            300014       YP      3
54  3050201     NA                NA            300123       EY      3
55  3050201      8 01.02.2006     NA            300604       YP      3
56  3050201      5 06.02.2006     NA            300605       YP      4
57  3050201      5 31.01.2006     NA            300677       YP      3
58  3050201      5 06.09.2006     NA            300718       YP      3
59  3050201     NA                NA            300012       YP      3
60  3050201     NA                NA            300015       YP      3
61  3050201     NA                 2 06.10.2006 300049       YP      3
62  3050201      0 11.09.2006     NA            300611       YP      4
63  3050201      3 09.09.2006     NA            300643       YP      2
64  3050201     NA                NA            300794       YP      2
65  3050201      7 23.07.2007     NA            300013       YP      2
66  3050201      9 20.07.2007     NA            300017       YP      3
67  3050201      6 11.07.2007     NA            300613       YP      3
68  3050201      5 29.06.2007     NA            300614       YP      3
69  3050201      8 04.07.2007     NA            300618       YP      3
70  3050201      9 16.07.2007     NA            300619       YP      3
71  3050201      9 03.07.2007     NA            300622       YP      3
72  3050201      6 25.06.2007     NA            300632       YP      3
73  3050201      5 02.07.2007     NA            300684       YP      3
74  3050201      5 16.07.2007     NA            300750       YP      3
75  3050201      7 17.07.2007     NA            300774       EY      3
76  3050201      5 04.07.2007     NA            300779       EY      3
77  3050201     NA                NA            300012       YP      3
78  3050201     NA                NA            300015       YP      3
79  3050201     NA                NA            300049       YP      3
80  3050201     NA                NA            300643       YP      2
81  3050201     NA                NA            300794       YP      2
82  3050201      7 12.02.2008     NA            600060       YP      3
83  3050201      7 23.06.2008     NA            300015       YP      3
84  3050201      5 02.07.2008     NA            300049       YP      3
85  3050201      8 18.06.2008     NA            300054       EY      3
86  3050201      6 26.02.2008     NA            300090       EY      3
87  3050201      8 11.06.2008     NA            300110       SE      3
88  3050201      9 24.06.2008     NA            300119       EY      3
89  3050201     10 20.06.2008     NA            300142       EY      3
90  3050201     NA                 5 22.09.2008 300144       EY      3
91  3050201      7 25.06.2008     NA            300643       YP      2
92  3050201      6 01.07.2008     NA            300656       EY      3
93  3050201      7 04.07.2008     NA            300680       EY      3
94  3050201      8 19.02.2008     NA            300706       EY      3
95  3050201      8 04.02.2008     NA            300749       EY      3
96  3050201     NA                 6 03.09.2008 300794       YP      2
97  3050201     NA                NA            300012       YP      3
98  3050201      3 21.02.2008     NA            300130       EY      3
99  3050201      3 23.06.2008     NA            300131       EY      3
100 3050201     NA                NA                73       EE      3
101 3050201     10 19.06.2009     NA            300072       EY      3
102 3050201     NA                 9 18.09.2009 300073       EY      3
103 3050201     NA                NA            300131       EY      3
104 3050201     NA                 5 23.09.2009 300176       EY      3
105 3050201      3 02.07.2009      8 03.09.2009 300178       EY      3
106 3050201     NA                 0 31.08.2009 300185       EY      3
107 3050201     NA                 5 15.09.2009 300615       EY      3
108 3050201     NA                 6 17.09.2009 300636       EY      3
109 3050201      1 26.06.2009      6 25.09.2009 300657       EY      3
110 3050201     NA                 9 04.09.2009 300674       EY      3
111 3050201      3 23.06.2009      7 22.09.2009 300778       EY      3
112 3050201     NA                NA            300012       YP      3
113 3050201     NA                NA            300130       EY      3
114 3050201     NA                NA            300134       EY      3
115 3050201      3 17.06.2009      3 16.09.2009 300141       EY      3
116 3050201     NA                 3 07.09.2009 300611       YP      4
117 3050201     NA                10 08.10.2010 900951      JGL      0
118 3050201      8 12.02.2010     NA            300012       YP      3
119 3050201     NA                NA            300032       EY      5
120 3050201     NA                NA            300130       EY      3
121 3050201     NA                NA            300134       EY      3
122 3050201      4 18.02.2010     NA            300141       EY      3
123 3050201     NA                NA            300150       EY      3
124 3050201     NA                NA            300187       EY      3
125 3050201      7 18.06.2010     NA            300620       EY      3
126 3050201     NA                 2 24.09.2010 300611       YP      4
127 3050201      0 24.06.2011      7 23.09.2011 300611       YP      4
128 3070350      5 26.02.2008     NA            300012       YP      3
129 3070350      5 23.06.2008     NA            300015       YP      3
130 3070350      5 20.06.2008     NA            300044       EY      3
131 3070350      8 25.06.2008     NA            300643       YP      2
132 3070350      7 07.07.2008     NA            300718       YP      3
133 3070350     NA                NA            300014       YP      3
134 3070350     NA                NA            300049       YP      3
135 3070350      3 08.02.2008     NA            300604       YP      3
136 3070350     NA                NA            300605       YP      4
137 3070350     NA                NA            300611       YP      4
138 3070350     NA                NA            300677       YP      3
139 3070350     NA                NA            300794       YP      2
140 3070350      5 27.02.2009     NA            300017       YP      3
141 3070350      6 23.02.2009     NA            300613       YP      3
142 3070350     NA                 7 01.09.2009 300618       YP      3
143 3070350      9 11.02.2009     NA            300619       YP      3
144 3070350      7 18.02.2009     NA            300636       EY      3
145 3070350      6 24.06.2009     NA            300684       YP      3
146 3070350      7 09.02.2009     NA            300750       YP      3
147 3070350      2 16.02.2009     NA            300013       YP      2
148 3070350     NA                NA            300049       YP      3
149 3070350     NA                NA            300604       YP      3
150 3070350     NA                NA            300611       YP      4
151 3070350     NA                NA            300614       YP      3
152 3070350     NA                NA            300620       EY      3
153 3070350     NA                NA            300622       YP      3
154 3070350     NA                NA            300632       YP      3
155 3070350     NA                NA            300168       EY      3
156 3070350     NA                 6 08.09.2010 300158       EY      3
157 3070350      2 19.02.2010     NA            300176       EY      3
158 3070350      3 25.06.2010      5 22.09.2010 300181       EY      3
159 3070350      6 09.02.2010     NA            300188       EY      3
160 3070350      8 12.02.2010     NA            300674       EY      3
161 3070350      8 05.02.2010     NA            300708       EY      3
162 3070350      7 08.02.2010     NA            300723       EY      3
163 3070350     NA                NA            300013       YP      2
164 3070350     NA                NA            300014       YP      3
165 3070350     NA                NA            300049       YP      3
166 3070350     NA                 4 20.09.2010 300072       EY      3
167 3070350     NA                 3 08.09.2010 300162       EY      3
168 3070350     NA                NA            300178       EY      3
169 3070350     NA                NA            300611       YP      4
170 3070350     NA                NA            300620       EY      3
171 3070350      1 10.06.2010      2 17.09.2010 300754       EY      3
172 3070350     NA                NA            300794       YP      2
173 3070350      7 21.02.2011     NA            300013       YP      2
174 3070350      5 31.01.2011     NA            300014       YP      3
175 3070350      8 22.06.2011     NA            300049       YP      3
176 3070350      6 11.02.2011     NA            300145       EY      3
177 3070350     NA                NA            300147       EY      3
178 3070350     10 25.02.2011     NA            300157       EY      3
179 3070350      6 20.06.2011     NA            300162       EY      3
180 3070350     NA                NA            300165       EY      3
181 3070350     NA                NA            300169       EY      3
182 3070350     NA                NA            300170       EY      3
183 3070350      7 16.06.2011     NA            300197       EY      3
184 3070350     NA                NA            300156       EY      3
185 3070350     NA                NA            300177       EY      3
186 3070350     NA                NA            300196       EY      3
187 3070350     NA                NA            300198       EY      3
188 3070350     NA                NA            300604       YP      3
189 3070350      3 18.02.2011     NA            300605       YP      4
190 3070350     NA                NA            300611       YP      4
191 3070350      3 20.06.2011     NA            300614       YP      3
192 3070350     NA                NA            300622       YP      3
193 3070350     NA                NA            300630       EY      3
194 3070350     NA                NA            300794       YP      2
195 3070350     NA                NA            300011       EY      3
196 3070350     NA                NA            300041       EY      3
197 3070350     NA                NA            300057       EY      3
198 3070350     NA                NA            300071       EY      3
199 3070350     NA                NA            300072       EY      3
200 3070350     NA                NA            300100       EY      3
201 3070350     NA                NA            300119       EY      3
202 3070350     NA                NA            300156       EY      3
203 3070350     NA                NA            300168       EY      3
204 3070350      8 09.02.2012     NA            300177       EY      3
205 3070350     NA                NA            300178       EY      3
206 3070350      6 08.02.2012     NA            300196       EY      3
207 3070350      7 08.02.2012     NA            300198       EY      3
208 3070350     NA                NA            300604       YP      3
209 3070350      5 01.02.2012     NA            300605       YP      4
210 3070350     NA                NA            300611       YP      4
211 3070350      4 11.06.2012     NA            300614       YP      3
212 3070350     NA                NA            300620       EY      3
213 3070350     NA                NA            300622       YP      3
214 3070350     NA                NA            300630       EY      3
215 3070350     NA                NA            300632       YP      3
216 3070350      5 15.02.2012     NA            300677       YP      3
217 3070350     NA                NA            300754       EY      3
218 3070350      5 06.02.2012     NA            300794       YP      2
219 3900215      6 04.03.1991     NA            300602       YP      3
220 3900215     NA                NA            300603       YP      3
221 3900215     NA                 6 07.10.1991 300606       YP      3
222 3900215      7 05.07.1991     NA            300609       YP      3
223 3900215     NA                 7 17.09.1991 300675       EY      3
224 3900215     NA                 4 17.09.1991 300676       EY      3
225 3900215     NA                 6 07.10.1991 300677       EY      3
226 3900215      7 25.06.1991     NA            300680       EY      3
227 3900215     NA                 2 16.09.1991 300691       YP      3
228 3900215     NA                 3 03.10.1991 300704       YP      3
229 3900215     10 01.06.1991     NA            900951      JGL      0
230 3900215     NA                NA            300622       YP      3
231 3900215     NA                NA            300626       YP      3
232 3900215      5 17.02.1992     NA            300613       YP      3
233 3900215      6 27.01.1992     NA            300615       YP      3
234 3900215     NA                 5 13.10.1992 300616       YP      2
235 3900215     NA                 5 20.10.1992 300617       YP      3
236 3900215      7 19.06.1992     NA            300620       YP      3
237 3900215      8 18.06.1992     NA            300621       YP      2
238 3900215      7 02.06.1992     NA            300638       YP      3
239 3900215      7 09.06.1992     NA            300640       EY      3
240 3900215      7 08.06.1992     NA            300684       YP      3
241 3900215      7 27.01.1992     NA            300750       YP      3
242 3900215      8 07.07.1992     NA            300753       EY      3
243 3900215     NA                 8 15.10.1992 300761       EY      2
244 3900215     NA                NA            300763       EY      3
245 3900215      9 01.02.1993     NA            300601       YP      3
246 3900215      6 02.02.1993     NA            300604       YP      3
247 3900215      7 19.02.1993     NA            300618       YP      3
248 3900215      6 03.02.1993     NA            300623       YP      2
249 3900215      4 02.02.1993     NA            300624       YP      2
250 3900215      8 16.06.1993     NA            300627       YP      2
251 3900215      5 18.06.1993     NA            300628       YP      2
252 3900215      7 22.06.1993     NA            300647       YP      3
253 3900215      6 24.06.1993     NA            300749       EY      2
254 3900215      8 17.06.1993     NA            300776       EY      2
255 3900215      8 11.06.1993     NA            300782       EY      3
256 3900215      7 06.06.1994     NA            300713       YP      2
257 3900215      2 14.06.1994     NA            300619       YP      3
258 3900215     NA                NA            300610       YP      2
259 3900215     NA                NA            300631       YP      3
260 3900215     NA                NA            300633       YP      3
261 3900215      4 27.01.1995     NA            300724       YP      2
262 3900215     NA                NA            300759       EY      3
263 3900215     NA                NA            300605       YP      4
264 3900215     NA                NA            300611       YP      4
265 3900215     NA                NA            300614       YP      3
266 3900215     NA                NA            300619       YP      3
267 3900215     NA                NA            300632       YP      3
268 3900215     NA                NA            300634       YP      3
269 3900215     NA                NA            300718       YP      3
270 3900215     NA                NA            300755       EY      3
271 3900215     NA                NA            300793       EY      3
272 3900215     NA                NA            300013       YP      2
273 3900215     NA                NA            300611       YP      4
274 3900215     NA                NA            300614       YP      3
275 3900215     NA                NA            300632       YP      3
276 3900215     NA                NA            300611       YP      4
277 3900215     NA                NA            300619       YP      3
278 3900215      2 10.06.1997     NA            300622       YP      3
279 3900215      5 13.02.1997     NA            300632       YP      3
280 3900215     NA                NA            300718       YP      3
281 3900215     NA                NA            300754       EY      2
282 3900215     NA                NA            300013       YP      2
283 3900215     NA                NA            300017       YP      3
284 3900215     NA                NA            300605       YP      4
285 3900215     NA                NA            300614       YP      3
286 3900215     NA                NA            300643       YP      2
287 3900215     NA                NA            300737       EY      3
288 3900215      1 25.06.1999     NA            300643       YP      2
289 3900215      2 22.06.1999     NA            300737       EY      3
290 3900215      2 21.06.1999     NA            300755       EY      3
291 3900215     NA                NA            300012       YP      3
292 3900215     NA                NA            300013       YP      2
293 3900215     NA                NA            300017       YP      3
294 3900215     NA                NA            300605       YP      4
295 3900215     NA                NA            300614       YP      3
296 3900215     NA                NA            300626       EY      2
297 3900215     NA                NA            300634       EY      3
298 3900215     NA                NA            300755       EY      3
299 3900215     NA                NA            300793       EY      3
300 3900215     NA                NA            300794       YP      2

0 个答案:

没有答案