【问题标题】:if else function for columns [duplicate]如果列的其他功能[重复]
【发布时间】:2021-03-04 08:44:48
【问题描述】:

我的 if else 函数需要一些帮助。我希望 R 为我的列 (DipE) 中的每个 raw 打印在我的 if else 函数中定义的相应值。

这是我的专栏:

TierLID DipE
MLS289 -4.0020
MLS440 -3.9680
MLS382 -3.9280
MLS414 -3.9280
MLS290 -2.8480
MLS175 -2.5210
MLS232 -2.5020
MLS241 -2.5020
MLS189 -2.4040
MLS563 -2.4040
MLS209 -2.4000
MLS277 -0.7396
MLS514 -0.5619
MLS539 -0.4518
MLS540 -0.4518
MLS200 -0.3709
MLS340 -0.2090

这是我的代码:

if(Sheeps_with_Haplotyp10$DipE >-4 & <-3.5){
  print("1")
  }else if (Sheeps_with_Haplotyp10$DipE >-3.5 & <-3.0){
  print("3")
  }else if (Sheeps_with_Haplotyp10$DipE >-3.0 & <-2.5){
  print("0")
  }else if (Sheeps_with_Haplotyp10$DipE >-2.5 & <-2.0){
  print("4")
  }else if (Sheeps_with_Haplotyp10$DipE >-2.0 & <-1.5){
  print("3")
  }else if (Sheeps_with_Haplotyp10$DipE >-1.5 & <-1.0){
  print("0")
  }else if (Sheeps_with_Haplotyp10$DipE >-1.0 & <-0.5){
  print("2")
  }else if (Sheeps_with_Haplotyp10$DipE >-0.5 & <-0.0){
  print("4")
  }

它只打印 4 个

【问题讨论】:

标签: r if-statement


【解决方案1】:

您不能执行“Sheeps_with_Haplotyp10$DipE >-1.5 & 和 Sheeps_with_Haplotyp10$DipEp[i] >-1.5 & Sheeps_with_Haplotyp10$DipEp[i] < -1.0。在现实生活中,人们会理解你的意思,但计算机不会。幸运的是,由于 if else 语句的级联,我们甚至不需要在这里进行两次检查。

text="TierLID   DipE
MLS289  -4.0020
MLS440  -3.9680
MLS382  -3.9280
MLS414  -3.9280
MLS290  -2.8480
MLS175  -2.5210
MLS232  -2.5020
MLS241  -2.5020
MLS189  -2.4040
MLS563  -2.4040
MLS209  -2.4000
MLS277  -0.7396
MLS514  -0.5619
MLS539  -0.4518
MLS540  -0.4518
MLS200  -0.3709
MLS340  -0.2090"
Sheeps_with_Haplotyp10=read.table(text=text, header=TRUE, stringsAsFactors = FALSE)

for (i in 1:nrow(Sheeps_with_Haplotyp10)) {
  if(Sheeps_with_Haplotyp10$DipE[i]< -3.5){
    print("1")
  }else if (Sheeps_with_Haplotyp10$DipE[i] < -3.0){
    print("3")
  }else if (Sheeps_with_Haplotyp10$DipE[i] < -2.5){
    print("0")
  }else if (Sheeps_with_Haplotyp10$DipE[i] < -2.0){
    print("4")
  }else if (Sheeps_with_Haplotyp10$DipE[i] < -1.5){
    print("3")
  }else if (Sheeps_with_Haplotyp10$DipE[i] < -1.0){
    print("0")
  }else if (Sheeps_with_Haplotyp10$DipE[i] < -0.5){
    print("2")
  }else {
    print("4")
  }
}

[1] "1"
[1] "1"
[1] "1"
[1] "1"
[1] "0"
[1] "0"
[1] "0"
[1] "0"
[1] "4"
[1] "4"
[1] "4"
[1] "2"
[1] "2"
[1] "4"
[1] "4"
[1] "4"
[1] "4"

【讨论】:

    猜你喜欢
    • 2017-03-13
    • 2017-09-09
    • 2011-10-20
    • 2020-11-18
    • 2014-09-15
    • 1970-01-01
    • 1970-01-01
    • 2021-03-02
    • 1970-01-01
    相关资源
    最近更新 更多