Контекст:
Я хочу объединить два тиббла на основе символьного вектора, но что-то произошло между write.csv()
и read.csv()
, что сделало их неэквивалентными. В представленном ниже примере str_cmp()
возвращает 0
(«соответствие»), но в моем реальном проекте он возвращал -1
(строки не сопоставимы). Я не знаю, почему это изменилось.
В любом случае str_cmp()
не слишком полезен для меня, потому что dplyr::left_join
объединяет равные значения и не может работать с функцией.
Как мне изменить одну из этих строк, чтобы str1==str2
вернул TRUE
? Мне нужно иметь возможность сделать это для всего вектора символов, чтобы я мог сделать:
dplyr::left_join(tibble1,tibble2,by = c("charVector1"="charVector2")
, где charVector1
и charVector2
- это столбцы, из которых были извлечены str1
и str2
.
Представляет:
#DL 19/10/30
## Tryna work out why these strings aren't the same
#####################################################################
#Get strings from GitHub repo ---------------------------------------
read.table(
"https://raw.githubusercontent.com/davelovellCARU/stringHelp/master/string1.txt"
) ->
str1
read.table(
"https://raw.githubusercontent.com/davelovellCARU/stringHelp/master/string2.txt"
) ->
str2
# The strings are not equal -----------------------------------------
str1 == str2
#> x
#> 1 FALSE
# But they look the same and the computer knows it ------------------
stringi::stri_cmp(str1, str2)
#> [1] 0
Создано в 2019-10-30 пакетом prex (v0.3.0)