перебрать два вектора и распечатать с помощью R - PullRequest
0 голосов
/ 26 февраля 2019

Допустим, у меня есть два вектора:

vector1=c("name1","name2","name3")
vector2=c("#DAAD03","#301EE1","#5BD066")

Я хотел бы перебрать два вектора и вывести следующие строки:

vector2[1] <- "#DAAD03" > name1
vector2[2] <- "#301EE1" > name2
vector2[3] <- "#5BD066" > name3

Я пытался:

for (i in vectors1){
  number=c(1)
  for (j in vectors2{
    print ("vectors2[",number,"] <- ",j, ">", i )
    number = number+1
  }
}

но это не работает.спасибо за вашу помощь

Я получаю следующую ошибку:

> for (i in vectors1){
+   number=c(1)
+   for (j in vectors2{
Erreur : '{' inattendu(e) in:
"  number=c(1)
  for (j in vectors2{"
>     print ("vectors2[",number,"] <- ",j, ">", i )
Error in print.default("vectors2[", number, "] <- ", j, ">", i) : 
  objet 'j' introuvable
>     number = number+1
>   }
Erreur : '}' inattendu(e) in "  }"
> }
Erreur : '}' inattendu(e) in "}"
> 

Ответы [ 2 ]

0 голосов
/ 26 февраля 2019

Я думаю, вы ищете что-то вроде этого:

    for(i in 1:length(vector1)){
    print(paste(vector2[i],">",vector1[i]))}

Вывод:

    [1] "#DAAD03 > name1"
    [1] "#301EE1 > name2"
    [1] "#5BD066 > name3"

Обратите внимание, что у вас тоже есть пара пропущенных скобок, и вы ненеобходимо использовать несколько циклов, если оба вектора имеют одинаковую длину.

0 голосов
/ 26 февраля 2019
for (i in 1:length(vector1)){
  cat(paste0("vector2[",i,"] <- ","'",vector2[i],"'"," > ", vector1[i]))
}

 vector2[1] <- '#DAAD03' > name1
 vector2[2] <- '#301EE1' > name2
 vector2[3] <- '#5BD066' > name3

следите за избыточными циклами, если у вас большие матрицы / векторы, они будут работать вечно.

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