使用一列中的唯一值作为 R 中的新列 headers 来组织数据表

Organise datatable using unique values from one column as new column headers in R

我有一个数据 table,其中包含 4 列:“文件”、“日期”、“名称”和“rt”。有 25 个不同的名称,适用于数百个观察结果。我想重新排列数据 table,以便唯一名称是列 headers,多个 rt 值对应于日期。在任何给定日期,每个名字可能有不止一次观察。

所以每个“文件”应该只有一行(目前有 25 个),而不是“名称”列,我希望每个唯一名称都有一列。我还希望能够以编程方式重新排列,因为在其他情况下会有不同的名称列表。但是对于当前的场景,想法是每个文件一行,列标记为 'file'、'date'、名称 1、名称 2 等,然后让 rt 数据填充 table.

输入数据如下所示:

输出应该这样排列:

使用:

colnames(file)[5:29]<- unique(file$name)

pivot_wider 应该有效:https://tidyr.tidyverse.org/reference/pivot_wider.html

library(tidyr)

df %>% pivot_wider(names_from = name, values_from = rt)