【问题标题】:How to use rbind.data.frame such that the resulting data frame has no row names?如何使用 rbind.data.frame 以使生成的数据框没有行名?
【发布时间】:2018-09-22 20:46:30
【问题描述】:

我有一个包含数据框的列表,我想将这些数据框合并到一个大数据框没有行名称。我试过了:

ls <- list(df1 = data.frame(col1 = c(1, 2)), df2 = data.frame(col1 = c(3, 4)))
do.call(rbind.data.frame, ls)

但是,这会导致数据框带有行名:

      col1
df1.1    1
df1.2    2
df2.1    3
df2.2    4

我也试过do.call(rbind.data.frame(make.row.names = F), ls)。但这为我赢得了:

do.call(rbind.data.frame(make.row.names = F), ls) 中的错误: 'what' 必须是函数或字符串

编辑:如果没有弹出简单的解决方案,我将在第二步中使用rownames(df_goal) &lt;- c(0) 删除行名。

【问题讨论】:

  • 我检查了这篇文章,但我找不到我的问题的答案。
  • do.call(rbind, c(l, make.row.names = FALSE));请参阅?do.call 中的第二个示例:“如果我们已经有一个列表 [...],我们需要 c() 来添加更多参数”

标签: r dataframe


【解决方案1】:

dplyr::bind_rows(ls) 应该会给你预期的输出。

选项 2:Reduce(rbind.data.frame, ls)

选项 3(出于完整性考虑)-@Henrik 建议:do.call(rbind, c(ls, make.row.names = FALSE))

【讨论】:

    猜你喜欢
    • 2012-12-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多