我有下面的代码,它似乎完成了我正在尝试做的事情,但也会抛出代码下面显示的错误输出。我正在尝试做的是,第一次用x = 1运行循环,然后每次循环运行之后,我想要x = y,前一个循环的结果。我总是摸索着循环,所以任何提示都非常感激。
Code:
for(i in 1:5)
{
if(i=1)
{
x<-1
}
else
{
x<-y
}
y<-x*i
y
}
ERRORS:
for(i in 1:5)
+ {
+ if(i=1)
Error: unexpected '=' in:
"{
if(i="
> {
+ x<-1
+ }
> else
Error: unexpected 'else' in " else"
> {
+ x<-y
+ }
> y<-x*i
> y
[1] 25
> }
Error: unexpected '}' in "}"
答案 0 :(得分:0)
这是用稍微清晰的语法重写的代码
for (i in 1:5) {
if (i == 1) {
x <- 1
} else {
x <- y
}
y <- x * i
}
甚至更好的语法。
for (i in 1:5) {
x <- ifelse(i == 1, 1, y)
y <- x * i
}