代码之家  ›  专栏  ›  技术社区  ›  HSchmale

R数据帧到矩阵,以便colname和rowname来自参数

  •  0
  • HSchmale  · 技术社区  · 7 年前

      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 回复  |  直到 7 年前
        1
  •  2
  •   akrun    7 年前

    我们可以用 spread

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

    或使用 xtabs base R

    xtabs(time ~ photo + p, df1)