我想将数据集从long转移到wide,时间变量作为新的rownames,标识变量作为新的colnames。数据集如下所示:
df <- data.frame(year = c(2007,2008,2007),
comp = c("A","A","B"),
value = c(4,5,9))
df
数据集有时不包括所有公司的值。这些值只是缺失,并且在数据集中不显示为NA。但是,我希望将结果作为NA
我想以下列格式获取它:
df1 <- matrix(data = c(4,5,9,NA),nrow = 2,ncol = 2)
colnames(df1) <- c("A","B")
rownames(df1) <- c(2007,2008)
df1
我尝试了重塑功能。但是,它不会以我的首选格式提供数据。有人知道一个函数给我的首选格式吗?
非常感谢!
答案 0 :(得分:1)
library(tidyverse)
data.frame(year = c(2007,2008,2007),
comp = c("A","A","B"),
value = c(4,5,9)) %>%
spread(comp, value)