Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
BMI计算器R语言中的循环问题_R - Fatal编程技术网

BMI计算器R语言中的循环问题

BMI计算器R语言中的循环问题,r,R,我对学校任务->体重指数计算器有问题 这是我的密码: #Przedziały niedowaga <- seq(16.00, 18.40, 0.01) norma <- seq(18.50, 24.90, 0.01) nadwaga <- seq(25.00, 30.00, 0.01) print(niedowaga) print(norma) print(nadwaga) #Pytanie waga = as.integer(readline(prompt="Podaj

我对学校任务->体重指数计算器有问题

这是我的密码:

 #Przedziały
niedowaga <- seq(16.00, 18.40, 0.01)
norma <- seq(18.50, 24.90, 0.01)
nadwaga <- seq(25.00, 30.00, 0.01)
print(niedowaga)
print(norma)
print(nadwaga)
 #Pytanie
waga = as.integer(readline(prompt="Podaj swoją wagę: "))
wzrost = as.integer(readline(prompt="Podaj swój wzrost w cm: "))
 #Formuła
bmi <- waga/wzrost**2 * 10000
 #Zaokrąglenie BMI do jednej liczby po przecinku
bmi_round <-round(bmi, digits = 2)
 #Wyświetlenie wartości BMI po zaokrągleniu
print(bmi_round)
 #Sprawdzenie BMI w oparciu o przedziały
for(bmi_round in niedowaga) {
  if(bmi == niedowaga) {
    print("Niedowaga")
  }
}
else {
  if (bmi == norma) {
    print("Norma")
  }
}
else if (bmi == nadwaga) {
  print("Nadwaga")
}
#Przedziały

niedowaga不需要循环:

waga = 30L #changed from readline
wzrost = 60L #changed from readline

bmi <- waga/wzrost**2 * 10000

ifelse(bmi >= 16 & bmi < 18.5, 'Niedowaga', 
       ifelse(bmi >= 18.5 & bmi < 25, 'Norma',
              ifelse(bmi >=25 & bmi <= 30, 'nadwaga', 'outside normal range')))

# or

dplyr::case_when(bmi >= 16 & bmi < 18.5 ~ 'Niedowaga',
                 bmi >= 18.5 & bmi < 25 ~ 'Norma',
                 bmi >=25 & bmi <= 30 ~ 'nadwaga',
                 TRUE ~ 'outside normal range')

隐马尔可夫模型。。。我想这没关系。这个公式计算BMI,首先是身高**2,然后是体重/身高(幂次后),最后乘以,得到一个正确的值。正如我所知,我们正在进行计算,因为从左到右,你是对的。我的测试有缺陷。
bmi_round <- 23

for(nied in niedowaga){
  if (bmi_round == nied) print("Niedowaga")
}

for (norm in norma){
  if (bmi_round == norm) print("Norma")
}
# [1] "Norma"

for (nad in nadwaga){
  if (bmi_round == norm) print("Nadwaga")
}