Много времени я трачу на объединение двух фреймов данных по стране, муниципалитету, названию или столбцу партии. Теперь это refinr
пакет, Порт R в OpenRefine, это удобно. Только я еще не понял, как сравнить два «одинаковых» столбца и назвать строки, как я использую refinr
для одного вектора. У меня нет опыта работы с R, поэтому, возможно, это звучит немного расплывчато. Может быть, мои примеры прояснят ситуацию.
library(tidyverse)
library(refinr)
# I would like to add the values (and the right name's) of this example df...
df1 <- tribble(
~uid, ~name, ~value,
"A", "Red", 13,
"A", "violet", 145,
"B", "Blue", 3,
"B", "yellow", 56,
"C", "yellow-purple", 789,
"C", "green", 17
)
# ...to the following df
df2 <- tribble(
~uid, ~name,
"A", "red",
"B", "blu",
"C", "YellowPurple",
"C", "green"
)
# The following code of course produces NA values
df3 <- left_join(df1, df2, by = c("uid", "name"))
# While the following is the desired outcome
# A tibble: 4 x 3
uid name value
<chr> <chr> <dbl>
1 A Red 13
2 B Blue 3
3 C yellow-purple 789
4 C green 17
key_collision_merge()
и n_gram_merge()
работают со строками в одном векторе. Мой вопрос: могу ли я сравнивать и изменять строки между двумя столбцами вместо одного?
Если это возможно, это сэкономит мне столько времени!
Заранее спасибо.