Desidero filtrare le righe da data.frame
in base a una condizione logica. Supponiamo che io ho frame di dati comeFiltra righe data.frame per condizione logica
expr_value cell_type
1 5.345618 bj fibroblast
2 5.195871 bj fibroblast
3 5.247274 bj fibroblast
4 5.929771 hesc
5 5.873096 hesc
6 5.665857 hesc
7 6.791656 hips
8 7.133673 hips
9 7.574058 hips
10 7.208041 hips
11 7.402100 hips
12 7.167792 hips
13 7.156971 hips
14 7.197543 hips
15 7.035404 hips
16 7.269474 hips
17 6.715059 hips
18 7.434339 hips
19 6.997586 hips
20 7.619770 hips
21 7.490749 hips
Quello che voglio è quello di ottenere una nuova cornice di dati che sembra lo stesso, ma ha solo i dati per un cell_type. Per esempio. sottoinsieme/selezionare i file che contiene il tipo di cellula "hESC":
expr_value cell_type
1 5.929771 hesc
2 5.873096 hesc
3 5.665857 hesc
O entrambi i tipi di cellule "BJ fibroblasti" o "hESC":
expr_value cell_type
1 5.345618 bj fibroblast
2 5.195871 bj fibroblast
3 5.247274 bj fibroblast
4 5.929771 hesc
5 5.873096 hesc
6 5.665857 hesc
Esiste un modo semplice per farlo?
ho provato:
expr[expr[2] == 'hesc']
# [1] "5.929771" "5.873096" "5.665857" "hesc" "hesc" "hesc"
se il frame di dati originale è chiamato "expr", ma dà i risultati in formato sbagliato, come si può vedere.
Essere consapevoli del fatto che il '' == funzione può raccogliere qualsiasi NA registra così come "hESC" , mentre '% in %' non lo farà. –
@Matt quando si utilizza 'sottoinsieme' questo funziona come previsto. –