Zauważyłem, że wspomniałeś o funkcji %like%w swoim obecnym podejściu. Nie wiem, czy jest to odniesienie do %like%pliku z „data.table”, ale jeśli tak, zdecydowanie możesz go użyć w następujący sposób.
Zauważ, że obiekt nie musi być a data.table(ale pamiętaj też, że podejścia do podzbiorów dla data.frames i data.tables nie są identyczne):
library(data.table)
mtcars[rownames(mtcars) %like% "Merc", ]
iris[iris$Species %like% "osa", ]
Jeśli tak właśnie było, być może właśnie pomieszałeś pozycje wierszy i kolumn w celu podzbioru danych.
Jeśli nie chcesz ładować pakietu, możesz spróbować użyć polecenia grep()do wyszukania pasującego ciągu. Oto przykład ze mtcarszbiorem danych, w którym dopasowujemy wszystkie wiersze, w których nazwy wierszy zawierają „Merc”:
mtcars[grep("Merc", rownames(mtcars)), ]
mpg cyl disp hp drat wt qsec vs am gear carb
I kolejny przykład, używając iriszbioru danych wyszukującego ciąg osa:
irisSubset <- iris[grep("osa", iris$Species), ]
head(irisSubset)
W przypadku problemu spróbuj:
selectedRows <- conservedData[grep("hsa-", conservedData$miRNA), ]
dput(head(conservedData)).