правильно выбрать переменную, которая недоступна во фрейме данных? если да, то как? - PullRequest
0 голосов
/ 11 апреля 2019

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

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

df <- data.frame(x = 1:10)
df %>% mutate(xy = paste(x,df$isItPossible))

По моему мнению, в заявлении должна быть ошибка. но он работает правильно. "isItPossible" - это переменная, недоступная в df.

1 Ответ

1 голос
/ 11 апреля 2019

При запуске

df$isItPossible

не возвращает ошибку, возвращается NULL. Этот тип содержимого разрешен, так что вы можете создавать новые столбцы с

df$isItPossible <- "Yes"

И функция paste не имеет проблем со значениями NULL. Он просто игнорирует их.

paste("x", NULL)
# [1] "x "

Но при использовании mutate вам действительно не следует использовать часть df$. Это должно быть запущено как

df %>% mutate(xy = paste(x, isItPossible))

, которая выдаст вам ошибку о том, что не найдено значение, которое вам нужно.

...