在两个矢量之间循环并使用R打印
假设我有两个向量:在两个矢量之间循环并使用R打印,r,loops,R,Loops,假设我有两个向量: vector1=c("name1","name2","name3") vector2=c("#DAAD03","#301EE1","#5BD066") 我想循环两个向量并打印以下行: vector2[1] <- "#DAAD03" > name1 vector2[2] <- "#301EE1" > name2 vector2[3] <- "#5BD066" > name3 vector2[1]名称1 向量2[2]名称2 矢量2[3]名称
vector1=c("name1","name2","name3")
vector2=c("#DAAD03","#301EE1","#5BD066")
我想循环两个向量并打印以下行:
vector2[1] <- "#DAAD03" > name1
vector2[2] <- "#301EE1" > name2
vector2[3] <- "#5BD066" > name3
vector2[1]名称1
向量2[2]名称2
矢量2[3]名称3
我试过:
for (i in vectors1){
number=c(1)
for (j in vectors2{
print ("vectors2[",number,"] <- ",j, ">", i )
number = number+1
}
}
for(向量1中的i){
数字=c(1)
对于向量2中的(j){
打印(“矢量2[”,数字,“]”,i)
数字=数字+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 "}"
>
>用于(向量1中的i){
+数字=c(1)
+对于向量2中的(j){
错误:“{”不注意(e)在:
“数字=c(1)
对于向量中的(j){”
>打印(“矢量2[”,数字,“]”,i)
打印时出错。默认值(“矢量2[”,数字“]”,i):
对象“j”可插入
>数字=数字+1
> }
错误:“}”不在“}”中的(e)
> }
错误:“}”不在“}”中的(e)
>
用于(1中的i:长度(矢量1)){
cat(粘贴0(“向量2[”,i,“]”,向量1[i]))
}
矢量2[1]名称1
向量2[2]名称2
矢量2[3]名称3
注意冗余循环,如果你有大矩阵/向量,它们将永远无法运行。我想你正在寻找这样的东西:
for(i in 1:length(vector1)){
print(paste(vector2[i],">",vector1[i]))}
输出:
[1] "#DAAD03 > name1"
[1] "#301EE1 > name2"
[1] "#5BD066 > name3"
请注意,您还缺少几个括号,如果两个向量的长度相同,则不必使用多个循环。首先更正函数。}两个循环都缺少,并发布您得到的错误。在整个代码中也使用相同的变量名,“vector”或“vectors”,您的意思是?
paste0(vector2,“>”,vector1)
我必须在打印中包括vector2[number]
,它在I和j上变化。
[1] "#DAAD03 > name1"
[1] "#301EE1 > name2"
[1] "#5BD066 > name3"