Thanks a lot!
I know the first and third way to correct the error. The second way
seems make me know why the code is correct in the function
stats::weighted.residuals.
On 2022/10/21 17:36, Andrew Simmons wrote:
The error comes from the expression not being wrapped with braces. You
could change it to
if (is.matrix(r)) {
r[w != 0, , drop = FALSE]
} else r[w != 0]
or
{
if (is.matrix(r))
r[w != 0, , drop = FALSE]
else r[w != 0]
}
or
if (is.matrix(r)) r[w != 0, , drop = FALSE] else r[w != 0]
On Fri., Oct. 21, 2022, 05:29 Jinsong Zhao, <jsz...@yeah.net> wrote:
Hi there,
The following code would cause R error:
> w <- 1:5
> r <- 1:5
> if (is.matrix(r))
+ r[w != 0, , drop = FALSE]
> else r[w != 0]
Error: unexpected 'else' in " else"
However, the code:
if (is.matrix(r))
r[w != 0, , drop = FALSE]
else r[w != 0]
is extracted from stats::weighted.residuals.
My question is why the code in the function does not cause error?
Best,
Jinsong
______________________________________________
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide
http://www.R-project.org/posting-guide.html
<http://www.R-project.org/posting-guide.html>
and provide commented, minimal, self-contained, reproducible code.
______________________________________________
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.