合并具有相同列数的数据帧

时间:2015-11-12 20:20:35

标签: r rbind

我的第一个数据框(较大的一个样本)有10行13列。第二行有4行13列( private void NetworkAdapterMod(VirtualMachine vm) { using (var powerShell = PowerShell.Create()) { powerShell.AddScript(string.Format("Set-VMNetworkAdapter \"{0}\" -routerguard on -DhcpGuard on -VmqWeight 0", vm.ToVirtualMachineName())); powerShell.Invoke(); if (powerShell.Streams.Error.Count > 0) { throw powerShell.Streams.Error.First().Exception; } } } [TestMethod] public void Network_Adaptor_Secure_Test() { //Arrange var mgr = new VirtualMachineManager(new MockAppUser(), new VirtualMachineTask(new VirtualMachineDataService()), new MockAlertService()); //Act var virtualMachineID = CoreCreateVirtualMachine(mgr); //Assert var routerGuard = ""; var dhcpGuard = ""; var vmqWeight = 0; using (var powerShell = PowerShell.Create()) { powerShell.AddScript("Get-VMNetworkAdapter \"(99) UnitTest\" | Select routerguard, DhcpGuard, VmqWeight"); var ret = powerShell.Invoke(); if (powerShell.Streams.Error.Count > 0) { throw powerShell.Streams.Error.First().Exception; } foreach (var o in ret) { routerGuard = o.Properties["routerguard"].Value.ToString(); dhcpGuard = o.Properties["DhcpGuard"].Value.ToString(); vmqWeight = Convert.ToInt32(o.Properties["VmqWeight"].Value); } Assert.AreEqual("On", routerGuard); Assert.AreEqual("On", dhcpGuard); Assert.AreEqual(0, vmqWeight); } } 以外的所有列。

当我尝试Month时,我会收到下一个错误:

NA

我无法弄清楚是什么问题,因为它们都有相同的列名。

dput:

rbind

Error in rbind(deparse.level, ...) : replacement has length zero

1 个答案:

答案 0 :(得分:5)

问题是您在sample.df中有几列自己数据框。 E.g:

class(sample.df$Intention_SPD)
# "data.frame"

data1中的所有列都是原子矢量。要解决此问题,您可以将sample.df的所有列转换为do.call(data.frame, sample.df)的向量。因此,这有效:

rbind(do.call(data.frame, sample.df), data1)