是否有一个R函数根据组选择n个个体?
我有一个1250万条记录的数据集,我需要随机选择大约250万条。然而,这些人分为55284组,我想保持组的完整性 所以基本上我想删除组,直到我有250万条记录,或者选择组,直到我有大约250万个人 如果这是我的数据:是否有一个R函数根据组选择n个个体?,r,R,我有一个1250万条记录的数据集,我需要随机选择大约250万条。然而,这些人分为55284组,我想保持组的完整性 所以基本上我想删除组,直到我有250万条记录,或者选择组,直到我有大约250万个人 如果这是我的数据: data <- data.frame( id = c(1, 2, 3, 4, 5), group = (1, 1, 2, 2, 3) ) 数据太长,无法回复评论。你需要这样的东西吗 #Order data by group so rows with same
data <- data.frame(
id = c(1, 2, 3, 4, 5),
group = (1, 1, 2, 2, 3)
)
数据太长,无法回复评论。你需要这样的东西吗
#Order data by group so rows with same groups are together
data1 <- data[order(data$group), ]
#Get all the groups in first 2.5M entries
selected_group <- unique(data1$group[1:2500000])
#Subset those groups so you have all groups intact
final_data <- data1[data1$group %in% selected_group, ]
评论太长,无法回答。你需要这样的东西吗
#Order data by group so rows with same groups are together
data1 <- data[order(data$group), ]
#Get all the groups in first 2.5M entries
selected_group <- unique(data1$group[1:2500000])
#Subset those groups so you have all groups intact
final_data <- data1[data1$group %in% selected_group, ]
这是一种可能性。我使用toydata和33万(而不是250万)的阈值来演示它。首先,我创建玩具组向量:
threshold <- 33
set.seed(111)
mygroups <- rep(1:10, rpois(10, 10))
这是一种可能性。我使用toydata和33万(而不是250万)的阈值来演示它。首先,我创建玩具组向量:
threshold <- 33
set.seed(111)
mygroups <- rep(1:10, rpois(10, 10))
分层抽样。分层抽样。谢谢!是的,这会起作用,但是,这不会真的随机选择组,因为您只是选择第一个组。谢谢!是的,这是可行的,但是,这并不是随机选择组,因为你只是选择第一个组。