2017-09-13 69 views
0

到目前爲止我有這個代碼。我試圖看看有多少個變量在其中包含重複的字母。例如,在變量1中,如果我有{a,b,c,c,d},我希望它返回爲true。從來沒有完成R中的循環。任何幫助?For循環來計算矩陣的每個變量中的重複值

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

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

你有搜索在這裏沒有對有關循環,重複,和R問題嗎? – stealththeninja

回答

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) 
+0

謝謝!這絕對有效。我會研究應用功能,我想。 – Austin

+0

@奧斯汀我很樂意提供幫助。我只是用另一種方法更新了帖子,但仍然使用'apply'。功能。 – www

+0

啊,沒關係,這對我來說更直觀。我會去那。雖然兩者都符合意圖。 – Austin