我有一个包含三列的数据框 - 州名,日期和数值。
我试图创建的矩阵需要将状态名称作为行名称,将日期作为列名称,并使用矩阵中的数值。显然,矩阵内将有许多NA值。 (有51个州'和84个日期)。我一整天都在研究这个问题,我得到的最接近的是创建一个数据框,其中日期和状态名称的正确数量相互对应,但数值不匹配。
有84个日期,但不是每个州都有84个相应的日期。
目标=所有州仅列出一次字母顺序...所有日期仅列出一次...填写空格以及NA
答案 0 :(得分:1)
欢迎使用stackoverflow。当您在stackoverflow上发布问题时,如果您包含您尝试生成的数据的示例,那么请查看更好:reproducible example。即使您的问题微不足道,您的回复也会快得多。 下面,大多数代码行都会重现您的示例:
# create vector of random dates
dates <- as.Date(sample( as.numeric(as.Date('2015-01-01')): as.numeric(as.Date('2018-01-01')), 200,
replace = T),
origin = '1970-01-01')
# create vector of states
library(datasets)
data(state)
name<-state.name
# create random number
values <- rnorm(50)
这是产生你想要的东西的方法之一
require(tidyverse)
df <- data.frame(dates, name, values)
df%>%spread(key=dates,value=values)%>%head(20)