что-то, что нужно изучить / запомнить.
Нужны советы, чтобы избежать подобных ошибок.
При написании большого (ish) R
кода просмотрите множество файлов данных и создайтерезюме данных, которое я хотел использовать:
File_data$name[p] %in% nr_counter$NAME
Это должно в основном проверять, принадлежит ли символ (имя) в File_data$name[p]
столбцу NAME
nr_counter
.Но, к моему удивлению, команда не может решить это.Я не могу понять почему.Единственный вывод, который я получил, состоит в том, что тест:
File_data$name[p] == "Bohuslav Diviš"
возвращает FALSE, когда он должен быть ИСТИНА (текст «Богуслав Дивиш»).
Вот дополнительные выводы кода, которые язагрузка этого теста типа объектов и некоторых логических несоответствий из моей консоли
> File_data$name[p] %in% nr_counter$NAME
[1] FALSE
> File_data$name[p]
[1] "Bohuslav Diviš"
> nr_counter$NAME
[1] "qwert" "Bohuslav Diviš"
> nr_counter$NAME[2]
[1] "Bohuslav Diviš"
> File_data$name[p] == nr_counter$NAME[2]
[1] FALSE
> "Bohuslav Diviš" %in% nr_counter$NAME
[1] TRUE
> "Bohuslav Diviš" == File_data$name[p]
[1] FALSE
> File_data$name[p] == "Bohuslav Diviš"
[1] FALSE
> typeof(File_data$name[p])
[1] "character"
> typeof(nr_counter)
[1] "list"
> typeof(nr_counter$NAME)
[1] "character"
> nr_counter
NAME COUNTRY COUNTER
1 qwert asdfg 1
2 Bohuslav Diviš Czechoslovakia 1
> as.character(File_data$name[p]) %in% as.character(nr_counter$NAME)
[1] FALSE
Может ли это быть проблемой из-за специальной буквы 'š' в имени?
Я так думаю,Основываясь на следующих изменениях, которые я сделал:
> File_data$name[p] = "Bohuslav Divis"
> nr_counter$NAME[2] = "Bohuslav Divis"
File_data$name[p] %in% nr_counter$NAME
[1] TRUE
Я подумал, что если я вернусь к имени с помощью 'š', то этот логический тест должен выйти как FALSE, если одна специальная буква вызывает проблему.Вот результат:
> nr_counter$NAME[2] = "Bohuslav Diviš"
> File_data$name[p] = "Bohuslav Diviš"
> File_data$name[p] %in% nr_counter$NAME
[1] TRUE
Как видно выше, FALSE не был получен.Таким образом, теперь я запутался в том, как выполнить тест в моем коде, работающем с большим количеством данных.
Спасибо за терпение, надеюсь, это наблюдение задело ваши творческие центры.
Приветствия ...