如何在数据帧R的顶部添加行

pdu*_*ois 7 r dataframe

我有以下数据框:

> dat

  V1   V2
1  1 6868
2  2  954
3  3   88
Run Code Online (Sandbox Code Playgroud)

我想要做的是在当前的一行上添加另一行:

   V1   V2
1  0 10000
2  1 6868
3  2  954
4  3   88
Run Code Online (Sandbox Code Playgroud)

为什么这不起作用:

new_dat <- rbind(dat,c(0,10000))
Run Code Online (Sandbox Code Playgroud)

这样做的正确方法是什么?

mds*_*ner 14

将您想要的矢量放在首位:

new_dat <- rbind(c(0,10000), dat)
Run Code Online (Sandbox Code Playgroud)

但是,在这里使用rbind假设您的所有列都是数字,并且您假设列顺序与向量相同.通常,您应该将data.frames绑定在一起,如下所示,您可以根据需要混合列类型:

rbind(data.frame(V1 = 0, V2 = 10000), dat)
Run Code Online (Sandbox Code Playgroud)

对于像这样的更一般的数据合并,还有许多其他选项.


csg*_*pie 8

为什么这不起作用: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
Run Code Online (Sandbox Code Playgroud)

相反,交换参数的顺序:

rbind(c(0,10000), dat)
Run Code Online (Sandbox Code Playgroud)

得到你想要的.或者,你可以

rbind(data.frame(V1 = 0, V2 = 10000), dat)
Run Code Online (Sandbox Code Playgroud)