所以我正在研究人们在咨询后的财务状况。dataframe“counseling”看起来像这样,请注意,一个人将有多个会话,每个会话记录不同的分数:
Name Date credit score
A 1/7/2016 600
A 1/28/2016 620
C 2/2/2016 700
C 3/2/2016 660
C 4/4/2016 750
我想写一个函数,它将 Dataframe 分为两个级别(已经这样做了),然后取名称的最后一个和第一个条目,并查找信用评分的差异。我希望建立信用评分的变化,客户从参加这个咨询服务,从他们进入的时间到他们离开的时间,因为我想然后输出这些到一个向量,并计算平均值。我不太确定如何告诉R区分每个名字的最后一个和第一个条目。不知道该怎么办。非常感谢各位的帮助!
5条答案
按热度按时间jdg4fx2g1#
使用
tapply
将一个函数应用于每个Name
组(假设您已经首先对数据进行了排序,您说过您已经进行了排序):toiithl62#
一个
dplyr
解决方案(为了安全起见,使用排列行进行排序):sczxawaw3#
我们也可以使用
data.table
(如果数据很大,并且不需要排序,则很有用):根据与@Frank关于效率的一些讨论,这里有一个更“data. table”的方式,它对数据进行一次排序,然后使用索引来计算我们的结果:
ncgqoxb04#
如果你的数据框叫做df -
eqzww0vc5#
1.创建2个日期变量。我们将使用as创建两个Date格式(YYYY-MM-DD)的日期变量。Date()函数。
1.两个日期的区别。我们将使用difftime()函数来执行此任务。