我有以下数据框:
> dat
V1 V2
1 1 6868
2 2 954
3 3 88
我想要做的是在当前结果的顶部添加另一行:
V1 V2
1 0 10000
2 1 6868
3 2 954
4 3 88
为什么这不起作用:
new_dat <- rbind(dat,c(0,10000))
正确的方法是什么?
先把你想要的向量放在上面:
new_dat <- rbind(c(0,10000), dat)
但是,在这里使用 rbind 假设您的所有列都是数字的,并且您假设列顺序与向量相同。一般来说,您应该将 data.frames 绑定在一起,如下所示,如果需要,您可以在其中混合列类型:
rbind(data.frame(V1 = 0, V2 = 10000), dat)
对于像这样的更一般的数据合并,还有许多其他选项。
为什么这不起作用:new_dat <- rbind(dat,c(0,10000))
它的顺序错误,只需查看输出:
R> rbind(dat, c(0, 1000))
V1 V2
1 1 6868
2 2 954
3 3 88
4 0 1000
相反,交换参数的顺序:
rbind(c(0,10000), dat)
得到你想要的。或者,你可以有
rbind(data.frame(V1 = 0, V2 = 10000), dat)