为了账号安全,请及时绑定邮箱和手机立即绑定

用一个空的dataframe-cbine.fill绑定一个dataframe?

用一个空的dataframe-cbine.fill绑定一个dataframe?

慕尼黑8549860 2019-07-16 10:13:23
用一个空的dataframe-cbine.fill绑定一个dataframe?我想我在找一个模拟的rbind.fill(在Hadley‘splyr(包装)cbind..我看过了,但没有cbind.fill.我想做的是:#set these just for this exampleone_option <- TRUEdiff_option <- TRUEreturn_df <- data.frame()if (one_option) {     #do a bunch of calculations, produce a data.frame, for simplicity the following small_df     small_df <- data.frame(a=1, b=2)     return_df <- cbind(return_df,small_df)}if (diff_option) {     #do a bunch of calculations, produce a data.frame, for simplicity the following small2_df     small2_df <- data.frame(l="hi there", m=44)     return_df <- cbind(return_df,small2_df)}return_df可以理解,这会产生一个错误:Error in data.frame(..., check.names = FALSE) : arguments imply differing number of rows: 0, 1我现在的修复方法是替换线路return_df <- data.frame()带着return_df <- data.frame(dummy=1)然后代码就能工作了。然后,我只需从return_df最后。在添加虚拟代码并运行上述代码之后,我得到      dummy a b        l  m1     1 1 2 hi there 44然后我只需要处理掉假人,例如:> return_df[,2:ncol(return_df)]   a b        l  m1 1 2 hi there 44我肯定我错过了一个更简单的方法来做这件事。编辑:我想我不是在找Cbinn,因为这意味着安娜的值将在cbind之后创建,这不是我想要的。
查看完整描述

3 回答

?
慕沐林林

TA贡献2016条经验 获得超9个赞

但是,我认为泰勒的解决方案是直接和最好的,我只是提供了另一种方式,使用rbind.fill()我们已经有了。

require(plyr) # requires plyr for rbind.fill()cbind.fill <- function(...) {                                                                                                                                                       
  transpoted <- lapply(list(...),t)                                                                                                                                                 
  transpoted_dataframe <- lapply(transpoted, as.data.frame)                                                                                                                         
  return (data.frame(t(rbind.fill(transpoted_dataframe))))


查看完整回答
反对 回复 2019-07-16
?
江户川乱折腾

TA贡献1851条经验 获得超5个赞

使用rowr::cbind.fill


rowr::cbind.fill(df1,df2,fill = NA)

   A B

1  1 1

2  2 2

3  3 3

4  4 4

5  5 5

6 NA 6


查看完整回答
反对 回复 2019-07-16
  • 3 回答
  • 0 关注
  • 789 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信