Почему substr () возвращает пустую строку? - PullRequest
0 голосов
/ 16 февраля 2020

Не знаю, есть ли у меня логическая ошибка, но моя функция substr() продолжает возвращать пустую строку? Сначала я думал, что неправильно обрезаю строку, однако даже при более низком начальном значении я получаю пустую строку в столбце моего информационного кадра.

Я посмотрел на этот вопрос PHP, чтобы получить некоторую информацию, но не сработало: PHP: substr возвращает пустую строку

Воспроизводимый пример -

#Original Data set str() output
#'data.frame':  9245 obs. of  3 variables:
#$ Latitude   : num  29.7 29.7 29.7 29.6 29.7 ...
#$ Longitude  : num  -82.3 -82.4 -82.3 -82.4 -82.3 ...
#$ Census Code: chr  "120010011003032" "120010010004035" "120010002003009" "120010015213000" ...

#For example, even if I do this:
base::substr("120010011003032", 6, 1)

#Output : ""
#Desired output: 001100

Мне нужно было вырезать коды переписи, чтобы сгенерировать информацию о путях, и информация о тракте - это, как правило, первые два - штат, следующие три - графство и следующие шесть - трактат. Я надеюсь, что кто-то может помочь мне с этим. Спасибо!

Ответы [ 2 ]

2 голосов
/ 16 февраля 2020

Вам нужно base::substr("120010011003032", 1, 6)! (РЕДАКТИРОВАТЬ: или 11, 6 за ваш комментарий)

Аргументы: start, stop, а не length, start; см. do c или тип ?base::substr. Совет: всегда сначала проверяйте R do c. А также попробуйте скопировать рабочие примеры, которые он вам дает, а затем посмотрите, отличаются ли они от ваших. Или просто попробуйте различные значения аргумента.

1 голос
/ 16 февраля 2020
base::substr("120010011003032", 6, 11)

"001100"
...