用R

用R,r,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

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

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  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
每个学生都有一个注册号(AM),每节课(课)他们有两次通过课程的机会。在DATE1(所以他们考1年级)或DATE2(所以他们考2年级)。 他们通过本课程所需的最低分数为5分。
不要重视类别和信用。
因此,根据上表,AM=3000010的学生在日期1=20/2/2001上以第1=5年级的成绩通过了第300012课。 AM=3050201的学生于2006年10月2日至6日参加第300049课,成绩为2级。
大多数课程代码(课程)对许多学生来说都很常见。
一年级前的空单元格(在一年级或一年级)表明该学生有机会来检查课程,但他没有。
例如,AM=3070350的学生在2年级=7年级时第二次(日期2)通过课程=300618,尽管他有机会再来一次(日期1中的空单元格,1年级也是如此)

我的问题是在R中建立一个算法,它可以在学生通过每节课或不通过每节课之前计算空单元格(日期或年级)(例如,AM=3050201的学生在日期2=2006年10月6日参加第300049课,成绩2=2不及格,尽管他本可以再来一次-->日期1/1中的空单元格)。 例如,学生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中的例程给出结果
空单元格=9
比如说

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  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中的例程给出结果
空单元格=7

AM  GRADE1    DATE1        GRADE2    DATE2     LESSON  CATEGORY CREDIT
3050756  ...            2   12.02.10   319011     YP          3
R中的例程给出结果
空单元格=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

如果能以更好的格式访问一些数据,那就太好了。你能用
dput
试试吗?知道所有课程的可用日期也会更好。一年级和二年级不是在一个单元格中吗?他们有机会在第二次约会时从一年级提高吗?不幸的是,没有给出缺失年级的日期。。。1年级和2年级在不同的单元格中,因为它们代表不同的考试期间…欢迎这样做。您有什么问题?将Excel中的数据读取到R中,或者计算每列中缺少的数值?如果是后者,请使用
dput
为我们举一个数据示例。到目前为止,您尝试了什么?