Созданный столбец не распознан в R

#r

#r

Вопрос:

Я работаю над набором данных, который включает температуру и три условия окружающей среды. Эти условия основаны на идентификаторе устройства, которое было помещено в это окружение для измерения данных. Используя R, я создал новый столбец EnvCond , используя mutate , и он появляется в новом наборе данных, как в приведенном ниже коде:

 IoT_telemetry_data <- mutate(IoT_telemetry_data, EnvCond = ifelse(device=="00:0f:00:70:91:0a", "Stable Cooler Humid", ifelse(device=="1c:bf:ce:15:ec:4d", "Variable Temperature Humid", "Stable Warm Dry")))
 

На скриншоте ниже показан столбец, добавленный в ту же таблицу:
введите описание изображения здесь
Однако я пытаюсь использовать этот новый столбец для создания трех различных переменных; каждая из них должна содержать температуру, измеренную для каждого из трех условий. Я попытался использовать select для создания одной из этих переменных, как в приведенном ниже коде:

 TempSCH <- select(IoT_telemetry_data, temp, where(EnvCond == "Stable Cooler Humid"))#Table that has only the temperature for Stable Cooler Humid environment. 
 

Я получаю сообщение об ошибке, которое EnvCond не найдено.
Я попытался использовать оператор канала %>% из ggplot библиотеки, чтобы присоединить эту переменную к данным, и я также использую attach(data) его в своем коде, но я все равно получаю ошибку.
Условие внутри select написано неправильно?

Ответ №1:

Вместо этого попробуйте выполнить фильтрацию следующим образом

 library(tidyverse)

IoT_telemetry_data %>% 
  filter(EnvCond == "Stable Cooler Humid")
 

например, это должно дать вам то, что вам нужно

 IoT_telemetry_data %>% 
  select(temp, EnvCond) %>% 
  filter(EnvCond == "Stable Cooler Humid")