0
我想要爲列表中的所有列表查找給定分位數的索引。然而,包含單個項目的列表最終包含百分比字符串(「.5%」),而具有多個項目的列表則不包含。避免使用單個項目的列表的百分比字符串(「.5%」)
這會導致出現問題,因爲我期望它們被同樣命名。我如何確保沒有列表項包含百分比字符串?
df = data.frame(a=c(1, 2, 2, 2), b=c(2, 3, 4, 5))
tmp = aggregate(b ~ a, df, c)
sapply(tmp$b, function(x) which.min(abs(x - quantile(x, .05))))
1.5% 2
1 1
這是由於的R基本的數學運算處理名的方式('+','-'等)。通常,如果不需要回收,名稱將被保留。你可以從'x <-setNames(5,「a」); print(x + 2); print(x + 1:3)''看到它。然而,在這裏,你可以使用'unname':'sapply(tmp $ b,function(x)unname(which.min(abs(x - quantile(x,.05)))))'。 – nicola
@nicola:'unname'有效。您可以將其作爲建議的答案發布! – forthrin