首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >向数据添加列。将行均匀分配给列表中的值的框架

向数据添加列。将行均匀分配给列表中的值的框架
EN

Stack Overflow用户
提问于 2020-12-06 09:50:04
回答 1查看 21关注 0票数 1

我有一个数据框架,其中每一行都是一个家庭,我有一个面试者列表。目的是将面试者分配到家庭,每个面试者应该在每个城市获得相同数量的家庭。例如,

代码语言:javascript
复制
example <- data.frame(city = c("Los Angeles", "Los Angeles", "Los Angeles", 
                               "San Diego", "San Diego", "San Diego", "San Diego", "San Diego",
                               "Santa Barbara", "Santa Barbara", "Santa Barbara", "Santa Barbara", "Santa Barbara"), 
                      household_id = seq(1, 13))
interviewer <- c("A", "B", "C")

所有3名面试者将前往所有城市,并将采访每个城市约三分之一的家庭,因此预期输出为

代码语言:javascript
复制
output <- data.frame(city = c("Los Angeles", "Los Angeles", "Los Angeles", 
                               "San Diego", "San Diego", "San Diego", "San Diego", "San Diego",
                               "Santa Barbara", "Santa Barbara", "Santa Barbara", "Santa Barbara", "Santa Barbara"), 
                      household_id = seq(1, 13),
                     interviewer = c("A", "B", "C",
                                     "A", "A", "B", "B", "C",
                                     "A", "A", "B", "B", "C"))
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-12-06 09:53:57

您可以尝试使用rep为每个city重复interviewer

代码语言:javascript
复制
library(dplyr)

example %>%
  group_by(city) %>%
  mutate(interviewer = rep(interviewer, length.out = n()))

#   city          household_id interviewer
#   <chr>                <int> <chr>      
# 1 Los Angeles              1 A          
# 2 Los Angeles              2 B          
# 3 Los Angeles              3 C          
# 4 San Diego                4 A          
# 5 San Diego                5 B          
# 6 San Diego                6 C          
# 7 San Diego                7 A          
# 8 San Diego                8 B          
# 9 Santa Barbara            9 A          
#10 Santa Barbara           10 B          
#11 Santa Barbara           11 C          
#12 Santa Barbara           12 A          
#13 Santa Barbara           13 B          
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65163898

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档