我正在研究一个大型数据集,以显示人们的出行方式。我需要计算人们旅行的独特天数。下表显示了ID,该ID对每个特定人而言都是唯一的。与每个ID相关联的是他们旅行的日期-对于某些人来说,一天可能是一次旅行,对于其他人来说,每天可能会有多次旅行(例如,“1”人在4日进行了两次旅行)。我需要R要做的是找出数据集中所有人的唯一天总数(例如,人1 = 2,人2 = 3,人3 = 1,人4 = 2-因此,使用迷你-以下数据集应为8。
ID = c(1,1,1,2,2,2,2,3,4,4,4,4)
date = c("4th Nov","4th Nov","5th Nov","5th Nov","6th Nov","7th Nov","7th Nov","8th Nov","6th Nov","6th Nov","7th Nov","7th Nov")
data<-data.frame(ID,date)
对于R编码的任何建议将不胜感激。
非常感谢。
最佳答案
再次执行ddply的任务:
ddply(data, .(id), summarise, noDays = length(unique(date)))
ID noDays
1 1 2
2 2 3
3 3 1
4 4 2