我有兩個函式f1和f2. 在其輸出中,f1始終保留輸入向量的元素名稱x。
但在其輸出中,f2總是洗掉輸入向量的元素名稱x。
有沒有辦法f2將元素的名稱保留在其輸出中f1?
x <- 1:10
x <- setNames(x, letters[1:10])
f1 <- function(x, n){
sort(x)[n]
}
# EXAMPLE OF USE:
f1(x, 2)
# OUTPUT:
# b # Notice "b"
# 2
f2 <- function(x, n){
len <- length(x)
sort(x, partial = len-n 1)[len-n 1]
}
# EXAMPLE OF USE:
f2(x, 2)
# OUTPUT:
# [1] 9 # Notice no name is attached to 9.
uj5u.com熱心網友回復:
在sort函式中,它表示如果partial不是null,則丟棄名稱。請參閱排序函式檔案。在f2, sort(x, partial = len-n 1)[len-n 1], 只是有點亂,
f2 <- function(x, n){
len <- length(x)
x[x == sort(x, partial = len-n 1)[len-n 1]]
}
f2(x, 2)
i
9
但這將保留值的名稱。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/327774.html
上一篇:函式未創建資料框
