For循环计算矩阵每个变量中的重复值

For Loop to count duplicate values in each variable of a matrix

目前我有这段代码。我试图查看有多少变量包含重复的字母。例如,在变量 1 中,如果我有 {a, b, c, c, d} 我希望它 return 为真。从来没有在 R 中做过 for 循环。有帮助吗?

wordSoup<-replicate(100,(replicate(5,sample(letters,1))))
notUnique=0

for (i in wordSoup) {
  if (anyDuplicated(wordSoup[,i])==1) {
  notUnique=notUnique+1
  }
}

这是一个没有 for 循环的选项。它将 return 一个具有相同列号长度的逻辑向量。 TRUE 表示有重复,而 FALSE 表示该列中的所有字母都是唯一的。

apply(wordSoup, 2, function(x) any(table(x) > 1))

另一个想法是使用 unique 获取唯一字母,然后使用 length 查看唯一字母的数量。如果小于5,则说明有重复,returns TRUE.

apply(wordSoup, 2, function(x) length(unique(x)) < 5)