我正在尝试使用if语句来分析大于或等于70的用户输入值的数量。对于输入的每个值大于(或等于)70,我想要变量{{1}增加1.但是,我不确定如何使if语句分析向量中的每个单独的值。
到目前为止代码:
totalFirst
答案 0 :(得分:0)
为了多次获取用户输入,您可以将readline
放在名为f_getInput
的函数中,然后调用该函数:
totalFirst <- integer(0)
prompt <- "What were your second year module results?(space separated)"
f_getInput <- function(prompt) return(as.integer(strsplit(readline(prompt), " ")[[1]]))
totalFirst <- c(totalFirst, f_getInput(prompt))
您可以根据需要多次运行最后一行。最后,您将在向量totalFirst
中拥有所有用户输入。为了捕获用户输入的数字>=70
的次数,只需执行以下操作:
sum(totalFirst >= 70)
例如,如果totalFirst
包含25, 33, 85, 64, 71, 70
,请执行以下操作:
which(totalFirst >= 70)
您知道在第3,第5和第6个输入时输入了一个>=70
。
答案 1 :(得分:0)
totalFirst <- 0
prompt <- "What were your second year module results?(space separated)"
secondYearMark <- as.integer(strsplit(readline(prompt), " ")[[1]])
totalFirst <- length(secondYearMark[secondYearMark >=70])
答案 2 :(得分:0)
最简单的方法是使用sum
prompt <- "What were your second year module results?(space separated)"
secondYearMark <- as.integer(strsplit(readline(prompt), " ")[[1]])
totalFirst <- sum(secondYearMark >= 70)