我有以下虚拟数据:
library(dplyr)
library(tidyr)
library(reshape2)
dt <- expand.grid(Year = 1990:2014, Product=LETTERS[1:8], Country = paste0(LETTERS, "I")) %>% select(Product, Country, Year)
dt$value <- rnorm(nrow(dt))
我选择两个产品-国家组合
sdt <- dt %>% filter((Product == "A" & Country == "AI") | (Product == "B" & Country =="EI"))
我希望能够看到每种组合的值并排放置。我可以使用dcast
来实现:
sdt %>% dcast(Year ~ Product + Country)
使用来自tidyr包的spread
函数能否实现这个目标?