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

How to extract unique values from a data frame column?

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

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))} else { print("cette colonne n'existe pas")} Error: unexpected '}' in "print( unique(dataframe[,colname] , incomparables = FALSE))}"

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

P.S。这是我第一次用 R 编程。

对象名称 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