Hello, I am deriving near real-time liner relationships based on 5-min precipitation data, sometimes the non-qced data result in a slope of NA. I am trying to read the coefficient (in this example x) to see if it is equal to NA, if it is equal to NA assign it a value of 1. I am having trouble with the if statement not recognizing the coefficient or "NA" value in the test. Any thoughts, I supplied a really basic example below. Thank you, Doug ##################### ###### Example ###### #####################> x=c(1,1,1) > y=c(1,1,1) > fit <- lm(y~x) > fitCall: lm(formula = y ~ x) Coefficients: (Intercept) x 1 NA> coef <- coef(fit) > fit$coef[[2]][1] NA> if("fit$coef[[2]]" == "NA") {.cw = 1}*************************************** Douglas M. Hultstrand Ph.D. Candidate Earth Sciences Watershed Science Program Colorado State University http://www.cnr.colostate.edu/~dmhultst/
Hello,
I am deriving near real-time liner relationships based on 5-min
precipitation data, sometimes the non-qced data result in a slope of NA. I
am trying to read the coefficient (in this example x) to see if it is equal
to NA, if it is equal to NA assign it a value of 1. I am having trouble
with the if statement not recognizing the coefficient or "NA" value in
the
test.
Any thoughts, I supplied a really basic example below.
Thank you,
Doug
#####################
###### Example ######
#####################
x=c(1,1,1)
y=c(1,1,1)
fit <- lm(y~x) fit
Call:
lm(formula = y ~ x)
Coefficients:
(Intercept) x
1 NA
coef <- coef(fit) fit$coef[[2]]
[1] NA
if("fit$coef[[2]]" == "NA") {.cw = 1}
--
---------------------------------
Douglas M. Hultstrand, MS
Senior Hydrometeorologist
Metstat, Inc. Windsor, Colorado
voice: 970.686.1253
email: dmhultst at metstat.com
web: http://www.metstat.com
> if("fit$coef[[2]]" == "NA") {.cw = 1}See ?is.na
On Sep 21, 2009, at 4:38 PM, Douglas M. Hultstrand wrote:> Hello, > > I am deriving near real-time liner relationships based on 5-min > precipitation data, sometimes the non-qced data result in a slope of > NA. I > am trying to read the coefficient (in this example x) to see if it > is equal > to NA, if it is equal to NA assign it a value of 1. I am having > trouble > with the if statement not recognizing the coefficient or "NA" value > in the > test. > > Any thoughts, I supplied a really basic example below. > > Thank you, > Doug > > ##################### > ###### Example ###### > ##################### > x=c(1,1,1) > y=c(1,1,1) > fit <- lm(y~x) fit > > Call: > lm(formula = y ~ x) > Coefficients: > (Intercept) x > 1 NA > > coef <- coef(fit) fit$coef[[2]] > [1] NA > if("fit$coef[[2]]" == "NA") {.cw = 1}. That would test for equality to the string composed of "N" and "A" but not for NA. (Nothing "equals" NA. ) ?is.na> > -- > --------------------------------- > Douglas M. Hultstrand, MS > Senior Hydrometeorologist > Metstat, Inc. Windsor, Colorado > voice: 970.686.1253 > email: dmhultst at metstat.com > web: http://www.metstat.com > > ______________________________________________ > R-help at r-project.org mailing list > 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.David Winsemius, MD Heritage Laboratories West Hartford, CT