【问题标题】:How to verify duplication before append data in r如何在r中追加数据之前验证重复
【发布时间】:2021-12-01 08:06:42
【问题描述】:

我只想将数据附加到我的列表中,前提是它与以前存储的数据不同。

data <- c("A","B","C")

到目前为止我的代码:

x<- function(...){
  
  data <- ifelse(... %in% data, append(data, ""),append(data, as.character(...)))
  return(data)
  
}

例如,如果我想附加“D”,我想要的输出是:

data
[1] "A" "B" "C" "D"
  

但是,我收到了这个:

 data
 [1] "A"

【问题讨论】:

    标签: r dataframe


    【解决方案1】:
    x <- c("A","B","C")
    y <- c("D", "A")
    
    union(x, y)
    
    # [1] "A" "B" "C" "D"
    

    【讨论】:

      【解决方案2】:

      ifelse 函数无法给出向量作为结果。见ifelse function documentation

      相反,您应该使用if - else 声明

      x<- function(...){
        
        data <- if (... %in% data) {append(data, "")} else {append(data, as.character(...))}
        return(data)
        
      }
      
      x("D")
      
      [1] "A" "B" "C" "D"
      

      【讨论】:

        【解决方案3】:

        这是我的解决方案:

        x <- c("A","B","C")
        y <- c("D", "A")
        
        unique(c(x, y))
        
        [1] "A" "B" "C" "D"
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多