我有以下数据框:
> 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)
对于像这样的更一般的数据合并,还有许多其他选项.
为什么这不起作用: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)
归档时间: |
|
查看次数: |
23237 次 |
最近记录: |