如何从数据框列中提取唯一值?

时间:2018-09-29 20:44:34

标签: r function unique unique-values

我一直在尝试创建一个函数,该函数通过编写以下代码来提取给定数据框中给定列的唯一值:

val_uniques <- function(colname, datframe)
  if colname %in% colnames(dataframe) {
    print(unique(dataframe[, colname], incomparables = FALSE))
  } else {
    print("cette colonne n'existe pas")
  }

但不幸的是,我一直收到此错误:

  

print(unique(dataframe [,colname],incomparables = FALSE))}否则{print(“ cette Colonne n'existe pas”)}   错误:“ print(unique(dataframe [,colname],incomparables = FALSE))}”中出现意外的'}'

我知道这是一个愚蠢的问题,因为它与}if中的else有关,但是我已经尝试了所有方法,但是没有用。

P.S。这是我在R中的第一篇编程文章。

1 个答案:

答案 0 :(得分:0)

对象名称datframedataframe中有一些错别字以及大括号被放错了位置:

val_uniques <- function(colname, dataframe) {
  if (colname %in% colnames(dataframe)) {
    print(unique(dataframe[, colname] , incomparables = FALSE))
  } else {
    print("cette colonne n'existe pas")
  }
}

df <- data.frame(a = c(1, 1, 3, 4), b = 1:4)

val_uniques("a", df)
# [1] 1 3 4