Почему дубликаты столбцов создаются после использования функции inside в R? - PullRequest
0 голосов
/ 12 января 2020

Я абсолютный новичок ie в R. В настоящее время я пытаюсь понять, как использовать внутри, и это одна проблема, которую я не понимаю.

data(mtcars)
mtcars <- within(mtcars, mtcars$mpg <- mtcars$mpg +2)
View(mtcars)

Этот код генерирует повторяющиеся столбцы исходных данных также с новым заголовком, за исключением столбца «mtcars.mpg», так как я изменил его. Я не совсем уверен, какой ответ я ищу, потому что я все еще не знаком с R. Но я хотел бы знать, почему возникла эта проблема и как ее решить. Таблица, которую я получил

Мне кажется, что эта проблема кажется банальной для других постов, которые я видел, но я не могу найти ответы самостоятельно. Поэтому я ценю любую помощь или дополнительные материалы, которые помогут мне в обучении.

1 Ответ

2 голосов
/ 12 января 2020

within функция оценивает данное выражение, поэтому в вашем случае она оценила mtcars$mpg <- mtcars$mpg +2, который вернул полный фрейм данных с новым значением mpg, соответственно, он добавил эти новые столбцы к существующему.

Это почему у вас есть дубликаты столбцов.

Что вы должны сделать, это примерно так:

Если вы хотите перезаписать mpg в mtcars:

data(mtcars)
mtcars <- within(mtcars, mpg <- mpg + 2)

Если вы хотите создать новый столбец из mpg после добавления 2 к нему

data(mtcars)
mtcars <- within(mtcars, new_mpg <- mpg + 2)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...