Скажем, у меня есть два кадра данных. Один - мой «основной» df, а другой - тот, который я использую для замены значений в основном df.
Таким образом, в столбце cd
из dfMain
каждый раз, когда поднимается уровень фактора orange
, я хочу заменить его соответствующей строкой из dfReplace
(которая имеет имя строки с именем orange
)
Это приведет к тому, что dfMain
получит 3 столбца в ширину, потому что столбец cd
исчезнет, и он получит столбцы X1, X2, X3, X4
Ключевым моментом здесь является то, что мне нужно, чтобы это было максимально эффективно, потому что мои фактические данные намного, намного длиннее
Воспроизводимый пример:
set.seed(42)
dfMain <- data.frame('av' = sample.int(10, 100, replace = TRUE),
'ba' = sample.int(10, 100, replace = TRUE),
'cd' = sample(c('orange', 'apple', 'banana', 'strawberry', 'blueberry', 'blackberry'), 100, replace = TRUE))
dfReplace <- data.frame('X1' = runif(6),
'X2' = runif(6),
'X3' = runif(6),
'X4' = runif(6))
rownames(dfReplace) <- c('orange', 'apple', 'banana', 'strawberry', 'blueberry', 'blackberry')