Вопрос о столбце, связанном с дублированными записями в другом столбце - PullRequest
0 голосов
/ 04 декабря 2018

У меня есть 2 набора данных, которые я бы хотел объединить определенным образом,

d1 <- read.table(text="
 a        c   
 1       100    
 2       1000   
 3       10000", header=TRUE)

d2 <- read.table(text="
 a      b          
 1      x       
 1      y       
 2      x  
 2      x    
 2      y        
 3      x", header=TRUE)

Для одного и того же значения «a» есть только 2 разных значения «b»: «x«и» у, я хотел бы разделить значение «с» на число «х», и количество «у».То есть для каждого значения «a» все «x» разделяют исходное значение c, а также «y».Вывод выглядит следующим образом:

# dataset 2
#     a      b      c    
#     1      x     100
#     1      y     100
#     2      x     500
#     2      x     500
#     2      y     1000
#     3      x     10000

Я пробовал библиотеку (dplyr), но не уверен, что это лучший способ сделать это.Спасибо!

1 Ответ

0 голосов
/ 04 декабря 2018

Я думаю, что это то, что вы после

left_join(d1, d2) %>% group_by(a, b) %>% mutate(c=c/n()) %>% 
  select(a,b,c)

#       a b         c
#   <dbl> <fct> <dbl>
# 1     1 x       100
# 2     1 y       100
# 3     2 x       500
# 4     2 x       500
# 5     2 y      1000
# 6     3 x     10000

Здесь мы объединяем, затем группируем по значениям в каждой комбинации a / b и нормализуем по количеству

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...