gpt4 book ai didi

随机抽样数据帧变量的子集

转载 作者:行者123 更新时间:2023-12-04 17:56:23 30 4
gpt4 key购买 nike

我正在处理一个包含每周旅行行为数据的大型数据集。在一周的过程中,人们完成了他们在那一周内进行的个人旅行的日志。个人由唯一标识号 (ID) 标识。我想要做的是从每个唯一 ID 可用的每周数据中随机选择两天的日记数据(可能包含一次或多次旅行),并将其放入新的数据框中。示例数据框详述如下:

Df1 <- data.frame(ID = c(1,1,1,1,1,1,2,2,2,2,2,2,3,3,3,3,3), 
date = c("1st Nov", "1st Nov", "3rd Nov", "4th Nov","4th Nov","5th Nov","2nd Nov", "2nd Nov", "3nd Nov", "4th Nov","5th Nov","5th Nov","2nd Nov", "2nd Nov", "3nd Nov", "4th Nov","5th Nov"))

对上述任何帮助将不胜感激。

非常感谢,

凯蒂

最佳答案

听起来像是 plyr 的工作。为每个用户随机抽取两天:

library(plyr)
ddply(Df1, .(ID), function(x) {
unique_days = as.character(unique(x$date))
if(length(unique_days) < 2) {
randomSelDays = unique_days
} else {
randomSelDays = sample(unique_days, 2)
}
return(x[x$date %in% randomSelDays,])
})

这将返回每个唯一标识符选定的两天内的所有数据。此外,如果 ID 只有一天,则返回该日期。例如:
  ID    date
1 1 1st Nov
2 1 1st Nov
3 1 3rd Nov
4 2 3nd Nov
5 2 5th Nov
6 2 5th Nov
7 3 2nd Nov
8 3 2nd Nov
9 3 3nd Nov

关于随机抽样数据帧变量的子集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8414484/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com