2015-11-11 2 views
-4

У меня есть следующие данные с идентификатором предметов.Подмножество DataFrame по условию в R

V1 
1 2 
2 2 
3 2 
4 2 
5 2 
6 2 
7 2 
8 2 
9 2 
10 2 
11 2 
12 2 
13 2 
14 2 
15 2 
16 4 
17 4 
18 4 
19 4 
20 4 
21 4 
22 4 
23 4 
24 4 

Я хочу подмножество всех строк данных, где V1 == 4. Таким образом, я могу видеть, какие наблюдения относятся подвергнуть 4.

Например, правильный результат будет

16 4 
17 4 
18 4 
19 4 
20 4 
21 4 
22 4 
23 4 
24 4 

Однако выход, который я давал после подмножества, не дает мне правильных строк. Это просто дает мне.

V1 
1 4 
2 4 
3 4 
4 4 
5 4 
6 4 
7 4 
8 4 

Я не могу сказать, какие наблюдения относятся подвергнуть 4, как наблюдения 1: 8 являются для субъекта 2.

я пробовал обычные методы, такие как

condition<- df == 4 
df[condition] 

Как я могу подмножить данные, поэтому я возвращаю набор данных, который показывает правильные номера строк для темы 4.

+0

у вас нет заголовка для одного из ваших колонки – MLavoie

+0

Try ', который (DF $ V1 == 4) '' –

+0

подмножество (DF, V1 == 4) '? – jogo

ответ

0

Мне удалось найти решение после публикации.

newdf <- subset(df, V1 == 4). 

Однако я по-прежнему очень заинтересован в других решениях этих проблем, поэтому, пожалуйста, напишите, если вы знаете о другом методе.

+0

вы не должны использовать объекты 'R' в качестве имен для созданных пользователем объектов: вы должны называть ваш data.frame чем-то иным, чем' df'. –

+3

@stasg, это _very_ обычно делается в R-вопросах на SO .. –

+1

@docendodiscimus yes, i know :( –

0

Вы также можете использовать функцию подмножества:

subset(df,df$V1==4) 
Смежные вопросы