如何分析if语句中的每个单独的向量值

时间:2016-10-08 23:11:15

标签: r if-statement vector user-input

我正在尝试使用if语句来分析大于或等于70的用户输入值的数量。对于输入的每个值大于(或等于)70,我想要变量{{1}增加1.但是,我不确定如何使if语句分析向量中的每个单独的值。

到目前为止

代码:

totalFirst

3 个答案:

答案 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)