Функция фильтра R не будет отфильтровывать результаты - PullRequest
0 голосов
/ 08 июня 2018

Я пытаюсь найти все строки, где существуют значения между верхним и нижним значением глубины в Azure ML.Я использую функцию фильтра dplyr, и код не выдает ошибку.Но когда я смотрю на результаты, это ничего не фильтрует.Кто-нибудь может увидеть, где я иду не так?

library(dplyr)

Upper_Depth<-dataset1$Upper_Depth
Lower_Depth<-dataset1$Lower_Depth
TopMD<-dataset1$TopMD
BaseMD<-dataset1$BaseMD

  # Filter where the Perf is within the Upper and Lower Depth intervals:
  #select(Upper_Depth, Lower_Depth, TopMD, BaseMD) %>%
  filter(dataset1, Upper_Depth > TopMD & Lower_Depth < BaseMD);
  
  # Subset the data where the perfs are in the L_WSEC_A:
  #subset(dataset1, Upper_Depth > TopMD & Lower_Depth < BaseMD)
  
  full_data <- dataset1

# Select data.frame to be sent to the output Dataset port
maml.mapOutputPort("full_data")

Я попробовал функцию подмножества, но получил тот же результат.Я извиняюсь, потому что я очень плохо знаком с r и Azure ML Studio.

1 Ответ

0 голосов
/ 08 июня 2018

Добро пожаловать в R!

Причина, по которой ваш код не работает должным образом, заключается в том, что первые четыре строки в вашем скрипте присваивают векторы.Это будет хорошо работать, если вы используете подмножество base R (попробуйте ?'[' на консоли) и выполняете логические тесты в столбцах как векторы.

dplyr работает несколько иначе.Метафора ближе к SQL, рассматривая каждый «столбец» в наборе данных как поле SQL.Таким образом, вы можете работать с вашими переменными напрямую, не разбивая их на векторы.

Попробуйте:

   dataset1 %>% filter(Upper_Depth > TopMD & Lower_Depth < BaseMD)

Это должно дать вам dataset, отфильтрованный так, чтобы каждое условие оценивалось какTRUE.

Если вы хотите сохранить результаты, просто назначьте их левой кнопкой мыши так:

   full_data <- dataset1 %>% filter(Upper_Depth > TopMD & Lower_Depth < BaseMD)

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...