如果函数匹配5,1或5,0,我正在尝试创建一个能打印奖品的功能。
下面是否可以实现这一点?我尝试了各种方法并设法收到同样的错误:
powerball_numbers(5,1)
Error in powerball_numbers(5, 1) : unused argument (1)
# total Grand Prize
grand_prize <- 10000000
#M5 white balls and one red
w_5_r_1 <- c(5,1)
#Second Prize of $1,000,000
second_prize <- 50000
#Match 5 white balls and 0 Red
w_5_r_0 <- c(5,0)
powerball_numbers <- function(x) {ifelse(x = w_5_r_1, grand_prize)
ifelse(x = w_5_r_0, second_prize)
}
powerball_numbers(5,1)
Error in powerball_numbers(5, 1) : unused argument (1)
答案 0 :(得分:1)
这里有各种错误。在ifelse中,条件应使用==
表示数字或字符或因子。
然后你的函数只有一个参数,你给两个。参数应该是c(5,1),而不是5,1,这是两个数字
第三,您无法将矢量或列表与==
的相等性进行比较,但应使用identical()
函数
并且ifelse的想法是为tRUE和False条件提供答案
powerball_numbers <- function(x) {if(identical(x,w_5_r_1)){grand_prize} else if(identical(x,w_5_r_0)){second_prize}}
powerball_numbers(c(5,1))
[1] 1e+07