我有以下数据框:
> 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))
这样做的正确方法是什么?
答案 0 :(得分:13)
首先将您想要的矢量放在首位:
new_dat <- rbind(c(0,10000), dat)
但是,在这里使用rbind假设您的所有列都是数字,并且您假设列顺序与向量相同。通常,您应该将data.frames绑定在一起,如下所示,您可以根据需要混合列类型:
rbind(data.frame(V1 = 0, V2 = 10000), dat)
还有许多其他选项可用于更一般的数据合并。
答案 1 :(得分:8)
为什么这不起作用:new_dat&lt; - 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)