Je remarque que vous mentionnez une fonction %like%
dans votre approche actuelle. Je ne sais pas si c'est une référence au %like%
"data.table" de from, mais si c'est le cas, vous pouvez certainement l'utiliser comme suit.
Notez que l'objet n'a pas besoin d'être a data.table
(mais rappelez-vous également que les approches de sous-ensembles pour data.frame
s et data.table
s ne sont pas identiques):
library(data.table)
mtcars[rownames(mtcars) %like% "Merc", ]
iris[iris$Species %like% "osa", ]
Si c'est ce que vous aviez, alors peut-être que vous aviez juste mélangé les positions de ligne et de colonne pour les données de sous-ensemble.
Si vous ne souhaitez pas charger un package, vous pouvez essayer d'utiliser grep()
pour rechercher la chaîne que vous correspondez. Voici un exemple avec l' mtcars
ensemble de données, où nous faisons correspondre toutes les lignes dont les noms de ligne incluent "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 l' iris
ensemble de données recherchant la chaîne 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), ]
dput(head(conservedData))
.