使用rbind.fill不会填充正确的值

时间:2015-07-05 13:17:51

标签: r dataframe

我猜不知道meteor add multi-level-push-menu是如何运作的。我有一个名为rbind.fill的数据框:

main.df

我想将名为 TLT PCY SHY VTI TIP VNQ VWO RWX VEA DBC GLD Pct 0 0 0 0 0 0 0 0 0 0 0 的以下不同大小的数据框绑定到它:

p.df

当我执行 VWO VEA VTI Pct 0.3333333 0.3333333 0.3333333 时,我得到:

rbind.fill(main.df, p.df)

这不是我想要的。我希望得到:

  TLT PCY SHY VTI TIP VNQ VWO RWX VEA DBC GLD
1   0   0   0   0   0   0   0   0   0   0   0
2  NA  NA  NA   1  NA  NA   1  NA   1  NA  NA

我该怎么做?我的对象的 TLT PCY SHY VTI TIP VNQ VWO RWX VEA DBC GLD 1 0 0 0 0 0 0 0 0 0 0 0 2 NA NA NA 0.333 NA NA 0.333 NA 0.333 NA NA 位于下方。

dput

1 个答案:

答案 0 :(得分:2)

如果您使用dput(main.df)dput(p.df)提供reproducible example会有所帮助,但看起来这些对象中的一个或两个都包含因子向量,而不是数字向量。所以你需要转换它们。

main.df[] <- lapply(main.df, function(f) as.numeric(levels(f))[f])
p.df[] <- lapply(p.df, function(f) as.numeric(levels(f))[f])

有关详细信息,请参阅How to convert a factor to an integer\numeric without a loss of information