Tôi nhận thấy rằng bạn đề cập đến một chức năng %like%
trong cách tiếp cận hiện tại của bạn. Tôi không biết đó có phải là tham chiếu đến %like%
từ "data.table" không, nhưng nếu có, bạn chắc chắn có thể sử dụng nó như sau.
Lưu ý rằng đối tượng không nhất thiết phải là a data.table
(nhưng cũng nên nhớ rằng các cách tiếp cận đặt con cho data.frame
s và data.table
s không giống nhau):
library(data.table)
mtcars[rownames(mtcars) %like% "Merc", ]
iris[iris$Species %like% "osa", ]
Nếu đó là những gì bạn có, thì có lẽ bạn vừa trộn các vị trí hàng và cột để lấy dữ liệu con.
Nếu bạn không muốn tải một gói, bạn có thể thử sử dụng grep()
để tìm kiếm chuỗi bạn đang khớp. Đây là một ví dụ với mtcars
tập dữ liệu, nơi chúng tôi đang đối sánh tất cả các hàng có tên hàng bao gồm "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
Và, một ví dụ khác, sử dụng iris
tập dữ liệu tìm kiếm chuỗi 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
Đối với vấn đề của bạn, hãy thử:
selectedRows <- conservedData[grep("hsa-", conservedData$miRNA), ]
dput(head(conservedData))
.