Как уменьшить значения в списке в R - PullRequest
2 голосов
/ 03 ноября 2019

Новый ученик R здесь. У меня есть список нечетных чисел, которые я произвел в R. У меня есть 1.. .23 странно«Три» должно быть прописано. Мне нужны только строки со значениями 1-11 нечетные, а не 13-23 нечетные. Я не могу сократить список до 1-11. Как мне избавиться от ненужных значений?

for (i in 0:11)
{  
  i<-(i*2+1)
  {
    if (i <= 11)
    { 
      if (i == 3) ("three")
    } 
  } 
  print(i)
}

[1] 1
[1] 3
[1] 5
[1] 7
[1] 9
[1] 11
[1] 13
[1] 15
[1] 17
[1] 19
[1] 21
[1] 23

Ответы [ 2 ]

3 голосов
/ 03 ноября 2019

Перестройка и настройка вашего кода

for (i in 0:11){
  i <- (i*2+1)
  if(i==3){
    print("Three")
    next
  }
  if(i<=11){
    print(i)
  }

}
#Output
# [1] 1
# [1] "Three"
# [1] 5
# [1] 7
# [1] 9
# [1] 11

1 голос
/ 03 ноября 2019

Base R один вкладыш:

ifelse(c(1:11)[1:11 %% 2  > 0] == 3, "three", c(1:11)[1:11 %% 2  > 0])

Поддержание управления потоком в контуре (по запросу):

x <- vector("character", sum(0:11 %% 2 >0))
seq_vals <- 1:11
odd_vals <- seq_vals[1:11 %% 2  > 0] 
for(i in odd_vals){

  if(i != 3){

    x <- c(x, as.character(i))

  }else{

      x <- c(x, "three")

  }

}

x[x != ""]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...