我需要让用户输入0到1之间的数字(第n个数字)。在向量中返回第n个最大数字。因此,当n = 1时,它充当输出最大数字的向量的最大值。我是r的新编码。任何有关改进我的代码的帮助都会感激不尽,更不用说让它工作了。
KFUN <- function() {
bob <- c(1,2,3,6)
ANSWER <- readline("Enter k value:")
k <- ANSWER
if(k <= 1 && k >= 0) {
if(0 < k <= .25) {
bob[c(4)]
}
if(.25 < k && k <= .5) {
bob[c(3)]
}
if(.5 < k && k <= .75) {
bob[c(2)]
}
if(.75 < k && k <=1) {
bob[c(1)]
}
}
else {
stop("That is not within 0 to 1!")
}
}
KFUN()
最佳
答案 0 :(得分:0)
尝试'订单'功能:
nth_largest= function(vect, n){
vect[rev(order(vect))][n]
}
bob <- c(3,6,1,2)
nth_largest(bob, 1)
[1] 6
nth_largest(bob, 2)
[1] 3
nth_largest(bob, 3)
[1] 2
nth_largest(bob, 4)
[1] 1