Как преобразовать слоты объектов класса S4 в векторы или матрицы?

У меня есть объект класса s4 из пакета ROCR. Он имеет несколько слотов, содержащих данные, которые связаны между собой (например, "x.values", "y.values" и "alpha.values").

Я хотел бы объединить их в матрицу путем доступа к слотам для выполнения некоторых вычислений (индексы Юдена и т. Д.)

Я пробовал такие вещи (согласно моим ограниченным знаниям R)

test<-cbind(perf@x.values,perf@y.values,perf@alpha.values)

и другие формулы, такие как изменение класса объекта напрямую...

но все работало.

1 ответ

Если вы знаете названия слотов (используйте getClass если вы этого не сделаете), вы можете вытащить их с @ оператор. Я не знаю ROCR, но если у вас есть правильные названия слотов, вы можете сделать

x <- perf@x.values
y <- perf@y.values
a <- perf@alpha.values

и затем исследуйте их как любой другой объект R. Вероятно, ваш cbind не работает, потому что размеры объектов не совпадают.

Другие вопросы по тегам