【问题标题】:Duplicated column name in a Dataframe. row bind the duplicated column together数据框中重复的列名。行将重复的列绑定在一起
【发布时间】:2021-10-27 00:53:20
【问题描述】:

我有一个包含超过 60-70 个列名的数据框。 在这 60-70 中,大部分列名都是重复的。

我想将重复的列行绑定在一起。 如何找出重复的列名并将行分别添加到列中。

最后,数据框必须是不等行的数据框。(用NA填充空单元格)。 谢谢

【问题讨论】:

  • 试试 dplyr 包中的 bind_rows 函数。
  • 如果您创建一个小的可重现示例以及预期的输出,这将更容易提供帮助。阅读how to give a reproducible example
  • 欢迎来到 Stackoverflow。许多寻求帮助的人都被限制缺席data/code tried/desired result,他们肯定会找到解决您未来问题的方法。再次欢迎。
  • 请提供足够的代码,以便其他人更好地理解或重现问题。

标签: r dataframe duplicates


【解决方案1】:

默认情况下,data.frame 不允许重复的列名,而 matrix 允许。如果是data.frame,则可能通过添加.1.2等后缀来更改重复项。

一个选项是在列名上使用split.default(为避免任何问题,只需将带有sub 的后缀部分(如果有的话)删除)到list,然后unlistlist 元素并在末尾附加NAs 后转换为data.frame

lst1 <- lapply(split.default(df1, sub("\\.\\d+$", "", names(df1))), unlist)
mx <- max(lengths(lst1))
data.frame(lapply(lst1, `length<-`, mx))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-24
    • 1970-01-01
    • 1970-01-01
    • 2019-11-18
    • 1970-01-01
    • 2020-11-09
    相关资源
    最近更新 更多