我正在尝试在 6 列中查找几个唯一的名称

I am trying to lookup several unique names in 6 columns

我正在尝试在数据框中查找多个名称。下面的示例中“名称”将是 df.我很好奇为什么我无法获取整个集合的唯一数据。

unique(Names[1:3])
#Names is the df they are in, this has been giving me a table with all the names

unique(Names$colname)
#Has been working but this method won't filter out unique names for each column bc its diff commands

当您将 unique() 应用于 data.frame 时,返回值将为 data.frame 包含数据框的所有唯一行。

dfa <- data.frame(a = c(1, 2, 3, 3), b = c(1, 1, 3, 3))
dfa
#>   a b
#> 1 1 1
#> 2 2 1
#> 3 3 3
#> 4 3 3

unique(dfa)
#>   a b
#> 1 1 1
#> 2 2 1
#> 3 3 3

在上面的示例中,unique() 检测到第 3 行和第 4 行是重复的并减少 他们排成一排。

如果您有兴趣获取一个表的每一列的所有唯一值 data.frame 您必须将 unique() 专门应用于每一列。 lapply() 可用于此。

lapply(dfa, unique)
#> $a
#> [1] 1 2 3
#> 
#> $b
#> [1] 1 3

如果您想查找唯一值并且您的数据分布在多个 您可以使用 unlist() 列首先“展平”数据并应用唯一 之后。

dfa |> 
  unlist() |> 
  unique()
#> [1] 1 2 3