【问题标题】:check column names and bind them检查列名并绑定它们
【发布时间】:2016-07-15 08:51:21
【问题描述】:

我有一个数据框,其中行列名称

a <- c("Round_and_Centre", "Number", "Round")
b <- c("Round_and_Centre", "Number", "Round")
c <- c("Round_and_Centre", "Number", "Round")

我想检查每列中的名称是否与相同的列名 fn 相同...如果它们相同,我需要 rbind 行以获取输出

我找不到检查列名的函数,如果它们相同则输出为真。如果输出为真,则 rbind

【问题讨论】:

  • 您可以使用identical,即identical(a,b)
  • names(a) [1] "Round_and_Centre" "number" [3] "Round" > names(b) [1] "Round_and_Centre" "number" [3] "Round" > 相同( a,b) [1] 错误
  • 即使列名相同,我也会将输出设为 false
  • 我收到identical(a,b)# [1] TRUE
  • 是否可以使用相同的函数检查3个以上的函数是否相同?

标签: r dataframe rbind


【解决方案1】:

一个选项是

all(unlist(Map(`==`, list(a), list(b,c))))

或使用combn

all(combn(c("a", "b", "c"),2, FUN = function(x) identical(get(x[1]), get(x[2]))))

【讨论】:

    【解决方案2】:
    if (all(colnames(a)==colnames(b))&all(colnames(a)==colnames(c)&all(colnames(b)==colnames(c)){
      d <- rbind(a,b)
      e <- rbind(d,c)
    {
    

    【讨论】:

    猜你喜欢
    • 2022-06-13
    • 2011-02-19
    • 1970-01-01
    • 2021-01-29
    • 1970-01-01
    • 2013-01-09
    • 2013-05-01
    • 2017-01-30
    • 2018-10-11
    相关资源
    最近更新 更多