Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用rbind.fill无法填充正确的值_R_Dataframe - Fatal编程技术网

使用rbind.fill无法填充正确的值

使用rbind.fill无法填充正确的值,r,dataframe,R,Dataframe,我想我不明白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(

我想我不明白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

main.df <- structure(list(
  TLT = 0, PCY = 0, SHY = 0, VTI = 0, TIP = 0, VNQ = 0, VWO = 0, RWX = 0, VEA = 0, DBC = 0, GLD = 0),
  .Names = c("TLT", "PCY", "SHY", "VTI", "TIP", "VNQ", "VWO", "RWX", "VEA", "DBC", "GLD"),
  row.names = "Pct", class = "data.frame")

p.df <- structure(list(
  VWO = structure(1L, .Names = "Pct", .Label = c("0.3333333", "VWO"), class = "factor"),
  VEA = structure(1L, .Names = "Pct", .Label = c("0.3333333", "VEA"), class = "factor"),
  VTI = structure(1L, .Names = "Pct", .Label = c("0.3333333", "VTI"), class = "factor")),
  .Names = c("VWO", "VEA", "VTI"), row.names = "Pct", class = "data.frame")

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

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

main.df[]put表明您对这些因素的看法是正确的。我在R已经被这咬了很多次了。这解决了问题。谢谢