У меня есть ФР следующим образом:Выявление уникальных наблюдений, которые удовлетворяют двум условиям, а затем удалить R
data
names fruit
7 john apple
13 john orange
14 john apple
2 mary orange
5 mary apple
8 mary orange
10 mary apple
12 mary apple
1 tom apple
6 tom apple
Я хотел бы сделать две вещи. Сначала подсчитайте количество уникальных наблюдений, в которых есть как яблоко, так и оранжевое (например, 2 mary и john).
После этого я хотел бы удалить их из своего фрейма данных, так что я остаюсь только с уникальными людьми, которые получили только яблоки.
Это то, что я пытался
toremove<-unique(data[data$fruit=='apple' & data$fruit=='orange',"names"]) ##this part doesn't work, if it had I would have used the below code to remove the names identified
data2<-data[!data$names %in% toremove,]
Действительно, я хотел использовать grepl, потому что мои реальные данные немного более сложным, чем фрукты. Это то, что я пытался (превратить в data.table первый)
data1<-data.table(data1)
z<-data1[,ind := grepl('app.*? & orang.*?', fruit), by='names'] ## this works fine when i just use 'app.*?' but collapses when I try to add the & sign, so I'm making an error with the operator. In addition the by='names' doesn't work out for me, which is important. My plan here was to create an indicator (if an individual has an apple and an orange, then they get an indicator==1 and I would then filter them out on the basis of this indicator).
Так, в целом моя проблема заключается в выявлении людей, которые имеют как яблоко и апельсин. Это кажется таким простым, поэтому не стесняйтесь направить меня к ресурсу, который может научить меня этому!
требуемого выход
names fruit
1 tom apple
6 tom apple
Таким образом, ваш желаемый результат не включает в себя подсчет уникальных наблюдений? Так почему же пытаются подсчитать в первую очередь? –
Я хочу быть в состоянии подсчитать, сколько людей имели как яблоки, так и апельсины. Если бы у меня был показатель для этих условий, я бы просто подмножество на них и подсчитал их. Или я мог бы ограничить свой df только людьми с яблоками и апельсинами и подсчитать количество уникальных людей там. Затем, когда я получаю окончательный результат только для яблочных людей, простое вычитание подскажет мне, сколько у людей было как апельсинов, так и яблок. Поэтому я сосредоточен на том, как идентифицировать людей из яблока и апельсина. Я мог бы понять, как считать их после этого. – user2363642