Подмножество матрицы S4 в R - PullRequest
1 голос
/ 24 февраля 2020

У меня есть матрица [4 x 5], которую я назвал T2:

T2 <- new("dgTMatrix",
      i = as.integer(c(1,1,0,3,3)),
      j = as.integer(c(2,2,4,0,0)), x=10*1:5, Dim=4:5)

colnames(T2) <- c("Anthony", "Benjamin", "Clara", "Dexter", "Elise")



abc <- data.frame(c("Anthony", "Benjamin"))
colnames(abc) <- c("Names")

Я хочу поднастроить ее, чтобы получить матрицу [4 x 2]:

T2.s1 <- subset.matrix(T2, colnames(T2) %in% abc$Names)

Кто-нибудь знает, почему это не работает?

Большое спасибо,

Абигайль

1 Ответ

1 голос
/ 24 февраля 2020

Это не data.frame, поэтому вы не можете использовать подмножество, и нет никаких методов подмножества для sparseMatrix.

Просто установите подмножество, как вы сделаете для матрицы:

 T2[,colnames(T2) %in% abc$Names]
4 x 2 sparse Matrix of class "dgTMatrix"
     Anthony Benjamin
[1,]       .        .
[2,]       .        .
[3,]       .        .
[4,]      90        .
...