Как использовать функции with() и inside() в R


Функции with() и inside() в R можно использовать для вычисления некоторых выражений на основе фрейма данных.

Эти функции используют следующий синтаксис:

with(data, expression)
within(data, expression)

куда:

  • data: имя фрейма данных
  • выражение: выражение для оценки

Вот разница между двумя функциями:

  • with() оценивает выражение без изменения исходного фрейма данных.
  • Within() оценивает выражение и создает копию исходного фрейма данных.

В следующих примерах показано, как использовать каждую функцию на практике со следующим фреймом данных:

#create data frame
df <- data.frame(x=c(3, 5, 5, 7, 6, 10),
 y=c(2, 2, 0, 5, 9, 4))

#view data frame
df

 x y
1 3 2
2 5 2
3 5 0
4 7 5
5 6 9
6 10 4

Пример 1: Использование функции with()

Мы можем использовать следующую функцию with() для умножения значений между двумя столбцами во фрейме данных:

#multiply values between x and y
with(df, x\*y)

[1] 6 10 0 35 54 40

Значения из столбца x и столбца y во фрейме данных перемножаются, и в результате получается вектор длины 6.

Пример 2: Использование функции inside()

Мы можем использовать следующую функцию inside () , чтобы умножить значения между двумя столбцами во фрейме данных и присвоить результаты новому столбцу во фрейме данных:

#multiply values in x and y and assign results to new column z
within(df, z <- x\*y)

 x y z
1 3 2 6
2 5 2 10
3 5 0 0
4 7 5 35
5 6 9 54
6 10 4 40

Результаты умножения теперь хранятся в новом столбце с именем z .

Важно отметить, что функция inside () создает копию исходного фрейма данных, но фактически не изменяет исходный фрейм данных:

#view original data frame
df

 x y
1 3 2
2 5 2
3 5 0
4 7 5
5 6 9
6 10 4

Чтобы постоянно хранить результаты умножения, мы должны присвоить результаты новому фрейму данных:

#multiply values in x and y and assign results to new data frame
df_new <- within(df, z <- x\*y)

#view new data frame
df_new

 x y z
1 3 2 6
2 5 2 10
3 5 0 0
4 7 5 35
5 6 9 54
6 10 4 40

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные задачи в R:

Как добавить столбец во фрейм данных в R
Как добавить пустой столбец во фрейм данных в R
Как отсортировать фрейм данных по столбцу в R

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.