#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")