愚蠢的例子:R`unique`總是以相同的順序返回值嗎?
df <- data.frame(group=rep(LETTERS, each=2), value=1:52)
res <- unlist(lapply(unique(df$group), function(x) mean(subset(df, group==x)$value)))
names(res) <- unique(df$group)
將res
永遠是?
A B C D E F G H I J K L M N O P
1.5 3.5 5.5 7.5 9.5 11.5 13.5 15.5 17.5 19.5 21.5 23.5 25.5 27.5 29.5 31.5
Q R S T U V W X Y Z
33.5 35.5 37.5 39.5 41.5 43.5 45.5 47.5 49.5 51.5
或者是否會發生在第2行計算的平均值不符合第3行的名稱?我想這取決於R基地的unique
的底層實施,但我不確定在哪裏可以找到。
我相信它會返回它們在它們出現在原始載體的順序,但文檔不_explicitly_保證這(雖然它有點暗示),所以如果你願意承擔小你可以假設我認爲有多大的風險。 – joran
可能重複的[唯一()保持秩序?](http://stackoverflow.com/questions/20260835/does-unique-preserve-order) – Scarabee