значения поиска в таблице - PullRequest
0 голосов
/ 04 июня 2018

У меня есть следующая таблица:

  table(dta$recipient,dta$treat)>0

                 1     2     3     4     5     6
      couple  TRUE  TRUE FALSE FALSE FALSE FALSE
      female FALSE FALSE  TRUE  TRUE FALSE FALSE
      male   FALSE FALSE FALSE FALSE  TRUE  TRUE

И у меня также есть переменная dta $ Treat_new, которая содержит перестановку dta $ Treat.Как я могу сделать переменную dta $ receient_new с соответствующими значениями для получателя?Обратите внимание, что уровни (dta $ получатель) и уровни (dta $ Treat) могут изменяться.Таким образом, ожидаемый результат будет новой переменной, такой как dta $ recient:

> head(dta$recipient_new)
[1] male female male couple male male
Levels: couple female male

, которая соответствует dta $ Treat_new

> head(dta$treat_new)
[1] 5 3 6 1 5 6

Вот воспроизводимый пример:

set.seed(12345)
recipient <- rep(c("male","female"), times=2)

treat <- rep(1:4, times=2)
df <- data.frame(recipient,treat)

table(df$recipient, df$treat)

df$treat_perm <- sample(treat)

df$treat_perm
[1] 2 3 1 4 2 1 3 4

Я хочу знать, как получить соответствующих получателей, поэтому:

df$recipient_perm
[1] female male male female female male male female
...