使用REPLACE2时缺少值

使用REPLACE2时缺少值,r,reshape2,R,Reshape2,我的问题与贴在这里的问题非常相似。我试图使用重塑数据将CRSP数据从长格式转换为宽格式。我把标准普尔公司的股票代码放在一列中,我想让它们成为一列。在我的数据框中有三列:“日期”、“股票代码”和“PRC”。(PRC是价格)。 相反,我希望列数等于我的唯一标记。我使用: dcast(df, DATE~TICKER, value.var="PRC"), fun.aggregate=length, fill=NaN, drop=FALSE) 这将返回一个完美的数据帧,对左侧的时间序

我的问题与贴在这里的问题非常相似。我试图使用重塑数据将CRSP数据从长格式转换为宽格式。我把标准普尔公司的股票代码放在一列中,我想让它们成为一列。在我的数据框中有三列:“日期”、“股票代码”和“PRC”。(PRC是价格)。 相反,我希望列数等于我的唯一标记。我使用:

dcast(df, DATE~TICKER, value.var="PRC"), fun.aggregate=length, fill=NaN, drop=FALSE)
这将返回一个完美的数据帧,对左侧的时间序列日期和右侧的标记进行排序,但就像我链接的问题一样,我得到1和NaN作为我的值。我喜欢NaN,但我想用我在中国的证券价格取代1

我得到1分和0分是因为一些股票行情缺少数据,这在一些股票进出标准普尔500指数时是有意义的。我只是不知道为什么
value.var
命令被公然忽略


如果没有可用的数据集,我只能提供以下内容

data.melt <- melt(df, id.vars=c('TICKER','DATE'), measure.vars='PRC')
data.cast <- dcast(data.melt, TICKER~DATE, sum)

data.melt不会忽略value.var。问题是您正在指定
fun.aggregate=length
。这意味着它不会给出实际值,而是一个聚合函数的结果,在本例中为
length
,因此得到1和0,因为缺少数据(0)或1个数据点


试着找点乐子。有时,当缺少数据时会很麻烦,因此您可能会得到一个错误,然后带来乐趣。聚合但将
length
替换为
sum
mean

您可以发布一个示例数据集吗?