R датафрейм в матрицу, так что имена столбцов и строк из параметров - PullRequest
0 голосов
/ 14 декабря 2018

Я пытаюсь сгенерировать матрицу в R с именами строк в качестве значения в кадре данных и именами столбцов.Значения, названные значением строки и значением столбца, должны совпадать с данными в кадре данных.

  p      photo filter     time
1  1 winter.png  edge1 94.51301
2  1  rocks.png  edge1 65.58044
3  1 pupper.png  edge1 47.72965
4  2 winter.png  edge1 57.73461
5  2  rocks.png  edge1 37.07482
6  2 pupper.png  edge1 26.07539
7  3 winter.png  edge1 39.93299
8  3  rocks.png  edge1 27.81006
9  3 pupper.png  edge1 18.99070
10 4 winter.png  edge1 33.10323
11 4  rocks.png  edge1 22.59480
12 4 pupper.png  edge1 15.38318

Так, например, я хотел бы получить что-то вроде:

             1          2          3        4
winter.png   94.51301   37.07482
rocks.png    65.58044   37.07482   27.81006     
pupper.png   47.72965   26.07539

(Неполностью показан, потому что я ленивый)

Есть ли какой-нибудь хороший способ для меня, чтобы генерировать матрицы, как определено.

Я хочу, чтобы определенные поля были помещены в секции rownames и colnamesматрица.Я могу получить к ним доступ с помощью этих функций.

1 Ответ

0 голосов
/ 14 декабря 2018

Мы могли бы использовать spread

library(tidyverse)
df1 %>% 
     select(-filter) %>% 
     spread(p, time)

Или использовать xtabs из base R

xtabs(time ~ photo + p, df1)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...