Je remarque que vous mentionnez une fonction %like%
dans votre approche actuelle. Je ne sais pas si c'est une référence à la %like%
de "data.table", mais si c'est le cas, vous pouvez certainement l'utiliser comme suit.
Notez que l'objet ne doit pas nécessairement être une data.table
(mais n'oubliez pas non plus que les approches de sous-ensembles pour data.frame
et data.table
ne sont pas identiques) :
library(data.table)
mtcars[rownames(mtcars) %like% "Merc", ]
iris[iris$Species %like% "osa", ]
Si c'est ce que vous aviez, vous avez peut-être simplement mélangé les positions des lignes et des colonnes pour le sous-ensemble des données.
Si vous ne voulez pas charger un paquet, vous pouvez essayer d'utiliser grep()
pour rechercher la chaîne de caractères que vous recherchez. Voici un exemple avec l'option mtcars
où nous faisons correspondre toutes les lignes où le nom de la ligne comprend "Merc" :
mtcars[grep("Merc", rownames(mtcars)), ]
mpg cyl disp hp drat wt qsec vs am gear carb
# Merc 240D 24.4 4 146.7 62 3.69 3.19 20.0 1 0 4 2
# Merc 230 22.8 4 140.8 95 3.92 3.15 22.9 1 0 4 2
# Merc 280 19.2 6 167.6 123 3.92 3.44 18.3 1 0 4 4
# Merc 280C 17.8 6 167.6 123 3.92 3.44 18.9 1 0 4 4
# Merc 450SE 16.4 8 275.8 180 3.07 4.07 17.4 0 0 3 3
# Merc 450SL 17.3 8 275.8 180 3.07 3.73 17.6 0 0 3 3
# Merc 450SLC 15.2 8 275.8 180 3.07 3.78 18.0 0 0 3 3
Et, un autre exemple, en utilisant le iris
ensemble de données recherchant la chaîne de caractères osa
:
irisSubset <- iris[grep("osa", iris$Species), ]
head(irisSubset)
# Sepal.Length Sepal.Width Petal.Length Petal.Width Species
# 1 5.1 3.5 1.4 0.2 setosa
# 2 4.9 3.0 1.4 0.2 setosa
# 3 4.7 3.2 1.3 0.2 setosa
# 4 4.6 3.1 1.5 0.2 setosa
# 5 5.0 3.6 1.4 0.2 setosa
# 6 5.4 3.9 1.7 0.4 setosa
Pour votre problème, essayez :
selectedRows <- conservedData[grep("hsa-", conservedData$miRNA), ]