Изменение названия конкретной должности - PullRequest
0 голосов
/ 18 ноября 2018

Я определил числовой вектор как -

X <- c(a=1, b=2, c=3)

Теперь я хочу изменить имя «b» во второй позиции на «z».

Когда я использую команду

names(X[2]) <- "z"

не работает.

Но, когда я использую

names(X)[2] <- "z"

это работает

Почему это поведение и в чем разница между двумя вышеупомянутыми names() подходами?

1 Ответ

0 голосов
/ 18 ноября 2018

Если вы посмотрите на help("names"), вы увидите, что в списке указаны два использования:

names(x)
names(x) <- value 

Итак, определены и функции получения, и установки.И предполагаемое использование - ваш второй подход.

Упрощенная причина, по которой ваш первый подход не работает, состоит в том, что X[2] возвращает

 #b 
 #2 

Т.е. именованный вектор длины 1. Следовательно,выполнение

 names(X[2]) <- "z"

будет переименовано, но результат никогда не будет сохранен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...