【发布时间】:2015-06-26 07:03:53
【问题描述】:
我有一个包含 500k 个条目(行)的数据集。每个条目都是针对特定学生的,并包含学生所在学校的信息 去了那个特定的学期。
因为学生在同一所学校呆了几个学期,所以我为同一学生和同一所学校有很多条目 (只有学期改变,即 EnrollmentBegin 和 EnrollmentEnd)。
FirstName LastName CollegeName State PublicPrivate EnrollmentBegin EnrollmentEnd
John Doe School A NY Public 20050829 20051223
John Doe School A NY Public 20051229 20060113
John Doe School A NY Public 20051223 20060513
John Doe School B IL Private 20090105 20090301
John Doe School B IL Private 20090706 20090830
John Doe School B IL Private 20090831 20091025
Jane Doe School A IL Private 20100105 20100301
Jane Doe School A IL Private 20100706 20100830
Jane Doe School A IL Private 20100831 20101025
John Doe School A NY Public 20110829 20111223
John Doe School A NY Public 20120129 20120513
这意味着对于某些学生,我有很多学生姓名和学院名称相同的条目。
我真的只想要每个新条目的第一个实例(即每当给定学生的学校名称更改时) 但我还需要知道学生在那所学校的入学时间是什么时候结束的。
此信息可在给定学校的每个学生的最后一个条目中找到。 因此,我需要从最后一个条目中获取该值,并将该值添加到该行中的新列,其中包含学生的第一个条目。
注意:我意识到有些学生,比如上面的 John Doe,去 A 学校,去另一所学校,然后回到 A 学校。因此,理想情况下,要捕捉 那,我希望我的最终数据集看起来像这样:
FirstName LastName CollegeName State PublicPrivate EnrollmentBegin EnrollmentEnd EnrollmentEnd
John Doe School A NY Public 20050829 20051223 20060513
John Doe School A NY Public 20110829 20111223 20120513
John Doe School B IL Private 20090105 20090301 20091025
Jane Doe School A IL Private 20100105 20100301 20101025
如何以最有效的方式做到这一点?好像 min 和 max 已经不能解决这个问题了……
【问题讨论】:
-
嘿阿克伦。不,我只是想让这些值加粗,但我想我仍然没有完全掌握格式。
-
看起来像简单的按最小最大分组练习。
标签: r dataframe duplicate-removal