【发布时间】:2017-10-27 15:55:25
【问题描述】:
我有一个庞大的数据集,我需要根据某些标准从中匹配样本。例如,对于某个位置和行政区的每个电影明星,请为我找到两个(随机)不是电影明星的人。电影明星为 1,非电影明星为 0。
location<- c('manhattan', 'manhattan' ,'manhattan', 'manhattan', 'manhattan', 'manhattan')
moviestar<- c(0,1,0,0,0,1)
id<- c(1,2,3,4,5,6)
borough <- c('williamsburg', 'williamsburg', 'williamsburg', 'williamsburg', 'williamsburg','williamsburg')
df<- data.frame(location,moviestar, borough, id)
我想创建一个子集,该子集将电影明星与居住在同一地点和行政区的其他两个非电影明星(随机挑选)配对。有什么建议吗?基本上有 6 个人住在曼哈顿,有两个星星住在曼哈顿,我想为每个星星匹配,在这种情况下,2 和 6 是星星,那么我想在最终数据中匹配对如下(一些随机对):
我期待的输出是这样的,
matcheddata
location moviestar borough id matchpairid
manhattan 1 williamsburg 2 match1
manhattan 0 williamsburg 1 match1
manhttan 0 williamsburg 5 match1
manhattan 1 williamsburg 6 match2
manhattan 0 williamsburg 3 match2
manhttan 0 williamsburg 5 match2
【问题讨论】:
标签: r dplyr data.table tidyr