Все, что вам нужно сделать, это преобразовать информацию поиска (то, что у вас есть в документе Word) в фрейм данных и объединить ее с вашим исходным фреймом данных. Если информация о поиске мала, как в вашем посте, вы можете просто набрать ее в data.frame
; в противном случае сделайте из него CSV-файл и прочитайте его в R.
Вот два способа: один с inner_join
из dplyr
, другой с merge
из базы R. Оба соединяют кадры данных на основе значений в attribute1
.
Edit : @ r2evans отметил, что left_join
более уместно, потому что он гарантирует, что вы не потеряете наблюдения только потому, что у них есть атрибут, который не включен в таблицу поиска. Меняем оба примера на левые.
library(tidyverse)
df <- "ID; attribute1; attribute2; attribute3
1; 2; 3; 4
2; 7; 8; 3
3; 4; 6; 4
4; 2; 3; 4" %>%
read_delim("; ", trim_ws = T)
lookup <- data.frame(
attribute1 = c(2, 4, 7),
attr1_text = c("Hello", "Goodbye", "Example")
)
left_join(df, lookup, by = "attribute1")
#> # A tibble: 4 x 5
#> ID attribute1 attribute2 attribute3 attr1_text
#> <int> <dbl> <int> <int> <fct>
#> 1 1 2. 3 4 Hello
#> 2 2 7. 8 3 Example
#> 3 3 4. 6 4 Goodbye
#> 4 4 2. 3 4 Hello
merge(df, lookup, by = "attribute1", all.x = T)
#> attribute1 ID attribute2 attribute3 attr1_text
#> 1 2 1 3 4 Hello
#> 2 2 4 3 4 Hello
#> 3 4 3 6 4 Goodbye
#> 4 7 2 8 3 Example
Создано в 2018-04-26 пакетом Представить (v0.2.0).