Преобразование выходного списка с несколькими столбцами в таблицу в R - PullRequest
0 голосов
/ 12 апреля 2019

У меня есть выходная таблица из R, которая имеет тип "list":

> print(confMat)
Cross-Validated (10 fold, repeated 3 times) Confusion Matrix 

(entries are percentual average cell counts across resamples)

          Reference
Prediction Feeding Foraging Standing
  Feeding       44        0        2
  Foraging       0       32        0
  Standing       0        0       22

 Accuracy (average) : 0.98

> typeof(confMat)
[1] "list"

Я хотел бы преобразовать его в таблицу с заголовками как таковые:

             Feeding Foraging Standing
  Feeding       44        0        2
  Foraging       0       32        0
  Standing       0        0       22

Чтобы я мог извлечь значения из таблицы следующим образом:

x<-confMat[1:1]
print(x)
44

Я пытался использовать:

confMat <- data.frame(matrix(unlist(confMat), nrow=length(confMat), byrow=T))

Однако я не получаю желаемый результат, который хотел бы:

> dput(confMat)
structure(list(X1 = structure(c(3L, 1L, 2L, 4L), .Label = c("0", 
"2", "44", "overall"), class = "factor"), X2 = structure(c(1L, 
3L, 1L, 2L), .Label = c("0", "30", "32"), class = "factor"), 
    X3 = structure(c(1L, 1L, 2L, 3L), .Label = c("0", "22", "Cross-Validated (10 fold, repeated 3 times) Confusion Matrix"
    ), class = "factor")), class = "data.frame", row.names = c(NA, 
-4L))

Извините, если этот вопрос слишком простой. Я новичок в R, поэтому я надеюсь, что кто-нибудь может мне помочь! Любой вклад приветствуется.

1 Ответ

0 голосов
/ 12 апреля 2019

Вы можете извлечь его, как показано ниже:

 library(caret)
train_set<-createDataPartition(iris$Species,p=0.8,list=FALSE)
valid_set<-iris[-train_set,]
train_set<-iris[train_set,]
ctrl<-trainControl(method="cv",number=5)
set.seed(233)
mk<-train(Species~.,data=train_set,method="knn",trControl = ctrl,metric="Accuracy")

Цель

  confusionMatrix(mk)["table"][[1]]
            Reference
Prediction       setosa versicolor  virginica
  setosa     33.3333333  0.0000000  0.0000000
  versicolor  0.0000000 32.5000000  2.5000000
  virginica   0.0000000  0.8333333 30.8333333
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...