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

时间:2017-09-13 02:17:32

标签: r loops counting

到目前为止我有这个代码。我试图查看有多少变量包含重复的字母。例如,在变量1中,如果我有{a,b,c,c,d},我希望它返回true。 Haven完成了R中的循环。有什么帮助吗?

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

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

1 个答案:

答案 0 :(得分:1)

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

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

另一个想法是使用unique获取唯一字母,然后使用length查看唯一字母的数量。如果它小于5,则表示存在重复项并返回TRUE

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