Преобразуйте таблицу в матрицу именами столбцов [дубликат]

5
задан Aaron - Reinstate Monica 23 March 2012 в 15:55
поделиться

3 ответа

Проверьте метод, отлитый из пакета изменить изменить

# generate test data    
x <- read.table(textConnection('
models cores  time
4 1 0.000365
4 2 0.000259
4 3 0.000239
4 4 0.000220
8 1 0.000259
8 2 0.000249
8 3 0.000251
8 4 0.000258'
), header=TRUE)


library(reshape)
cast(x, models ~ cores)

Результаты:

  models        1        2        3        4
1      4 0.000365 0.000259 0.000239 0.000220
2      8 0.000259 0.000249 0.000251 0.000258
9
ответ дан 18 December 2019 в 09:07
поделиться

Вот версия с использованием базовой функции :

y <- reshape(x, direction="wide", v.names="time", timevar="cores", 
             idvar="models")

с выходом

  models   time.1   time.2   time.3   time.4
1      4 0.000365 0.000259 0.000239 0.000220
5      8 0.000259 0.000249 0.000251 0.000258

с жесткой работой изъятия, вы можете извлечь часть, которую вы хотите :

res <- data.matrix(subset(y, select=-models))
rownames(res) <- y$models
colnames(res) <- substr(colnames(res),6,7)

И вы получаете матрицу:

         1        2        3        4
4 0.000365 0.000259 0.000239 0.000220
8 0.000259 0.000249 0.000251 0.000258
5
ответ дан 18 December 2019 в 09:07
поделиться

Вы не нуждаетесь в Упаковка Reshape, есть встроенная функция , которая может сделать это.

> reshape(x,idvar="models",timevar="cores",direction="wide")
  models   time.1   time.2   time.3   time.4
1      4 0.000365 0.000259 0.000239 0.000220
5      8 0.000259 0.000249 0.000251 0.000258
4
ответ дан 18 December 2019 в 09:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: