我正在尝试在R中生成一个矩阵,其中行名也作为数据帧中的值,而行名也是如此。由行值和col值命名的值应与数据框中的值匹配。
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
部分中。我可以使用这些功能访问该东西。
答案 0 :(得分:2)
我们可以使用spread
library(tidyverse)
df1 %>%
select(-filter) %>%
spread(p, time)
或使用xtabs
中的base R
xtabs(time ~ photo + p, df1)