Удаление подмножества, когда новые переменные завершены - PullRequest
2 голосов
/ 09 апреля 2019

Я работаю над подмножеством нескольких переменных в наборе данных, чтобы удалить ненужные точки данных.Когда я ввожу команду подмножества для первой переменной и проверяю набор данных, переменная была правильно подмножеством.Однако после того, как вы проделали то же самое со второй переменной, первая больше не является подмножеством в наборе данных.Кажется, что вторая команда подмножества переопределяет первую.В приведенном ниже примере первая переменная (Рост) больше не является подмножеством после подмножества второй переменной (Вес).Есть мысли о том, как решить эту проблему?

rTestDataSet = TestDataSet
rTestDataSet = subset(TestDataSet, TestDataSet$Height < 4)
rTestDataSet = subset(TestDataSet, TestDataSet$Weight < 3)

Ответы [ 2 ]

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

Почему бы не использовать tidyverse?Цепные операции вместе, чтобы создать собственную логикуВместо subset вы можете использовать filter для условного получения нужных вам строк:

library(tidyverse)
TestDataSet %>%
  filter(Height < 4) %>%
  filter(Weight < 3)

или

TestDataSet %>%
  filter(Height < 4 & Weight < 3)
1 голос
/ 09 апреля 2019

Вы применяете оба подмножества к исходным данным.Вам нужно применить одно подмножество, сохранить его в переменной, а затем применить второе подмножество к этой новой переменной.Также, как уже указывалось, вам не нужен $ при использовании подмножества.

попробуйте это:

Создайте несколько воспроизводимых данных:

 set.seed(50)
 TestDataSet <- data.frame("Height" = c(sample(1:10,30, replace = T)), Weight = sample(1:10,30, replace = T) )

 rTestDataSet = TestDataSet
 rTestDataSet = subset(rTestDataSet, Height < 4)

rTestDataSet 
   Height Weight
3       3      5
6       1      7
9       1      4
10      2      5
12      3      9
14      1      1
15      3      1
19      1      8
20      2      9
22      2      8
28      3      6

 rTestDataSet = subset(rTestDataSet, Weight < 3)

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