【问题标题】:R, adding data frames in a loopR,循环添加数据帧
【发布时间】:2019-11-12 13:11:19
【问题描述】:

在 R 中,如何在 for 循环中组合数据帧。

我有数据框 item1, item2, item3... 我想将它们组合成对 item11, item12, item13, item21, item 22, ...,所以下面是 for 循环:

我无法找到正确的代码来分别访问 item1、item2、item3...。在 Python 中,可以使用“item{}.format(i), item{}.format(j)”来完成,但是在 R 中是否有类似的表达式?还是需要以其他方式完成?提前致谢!!

for (j in 1:3){ 
  for (i in 1:3){ 
    assign(paste0("item", i, j), rbind(item_i, item_j))
  }
}

【问题讨论】:

  • lapply(l, function(x) lapply(l, function(y) plyr::rbind.fill(x,y)))
  • 谢谢MM!明天我会试试这个代码;它可能会简化我的一些代码。
  • 你也可以简单地从 base 使用 rbind,rbind.fill 只是为了安全起见。

标签: r loops dataframe add


【解决方案1】:

使用你的循环应该可以工作:

for (j in 1:3){ 
  for (i in 1:3){ 
    assign(paste0("item", i, j), rbind(get(paste0("item_", i)), get(paste0("item_", j))))
  }
}

【讨论】:

  • 你得到的每一个组合都像这样翻了一番,不确定这是否是有意的。作者应该澄清这个@quesquestion
  • 非常感谢eastclintw00d!它完全按照我的意愿工作!
猜你喜欢
  • 2013-05-05
  • 2013-07-12
  • 2019-07-29
  • 1970-01-01
  • 2016-01-31
  • 2015-04-05
  • 1970-01-01
  • 2019-08-08
  • 1970-01-01
相关资源
最近更新 更多