Re: [R] Confused about a warning message

2011-07-07 Thread David Winsemius


On Jul 7, 2011, at 10:17 PM, Gang Chen wrote:

Thanks for the help! Are you sure R version plays a role in this  
case? My R version is 2.13.0


I'm not sure, but my version is 2.13.1



Your suggestion prompted me to look into the help content of ifelse,  
and a similar example exists there:


 x <- c(6:-4)
 sqrt(x)  #- gives warning
 sqrt(ifelse(x >= 0, x, NA))  # no warning


 The x variable gets converted to c( 6:0, NA,NA,NA, NA)

Notice the differences here:
> sqrt(NA)
[1] NA
> sqrt(-1)
[1] NaN
Warning message:
In sqrt(-1) : NaNs produced

> qt(.5, 0)
[1] NaN
Warning message:
In qt(p, df, lower.tail, log.p) : NaNs produced

> qt(.5, NA)
[1] NA




 ## Note: the following also gives the warning !
 ifelse(x >= 0, sqrt(x), NA)

Based on the above example, now I have a solution for my situation:

tConvert2 <- function(tval, DF, fullDF) qt(pt(ifelse(DF>=1, tval,  
0), ifelse(DF>=1, DF, 1)), fullDF)


> tConvert2(c(2,3), c(0,12), 12)
[1] 0 3

However, I feel my solution is a little kludged. Any better idea?

Thanks,
Gang



On Thu, Jul 7, 2011 at 9:04 PM, David Winsemius > wrote:


On Jul 7, 2011, at 8:52 PM, David Winsemius wrote:


On Jul 7, 2011, at 8:47 PM, Gang Chen wrote:

I define the following function to convert a t-value with degrees of  
freedom

DF to another t-value with different degrees of freedom fullDF:

tConvert <- function(tval, DF, fullDF) ifelse(DF>=1, qt(pt(tval, DF),
fullDF), 0)

It works as expected with the following case:

tConvert(c(2,3), c(10,12), 12)
[1] 1.961905 3.00

However, it gives me warning for the example below although the  
output is

still as intended:

tConvert(c(2,3), c(0,12), 12)
[1] 0 3
Warning message:
In pt(q, df, lower.tail, log.p) : NaNs produced

I'm confused about the warning especially considering the fact that  
the

following works correctly without such warning:

tConvert(2, 0, 12)
[1] 0

What am I missing?

The fact that ifelse evaluates both sides of the consequent and  
alternative.


I also think you should update yur R to the most recent version  
since a current version does not issue that warning.



--
David Winsemius, MD
West Hartford, CT




David Winsemius, MD
West Hartford, CT

__
R-help@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.


Re: [R] Confused about a warning message

2011-07-07 Thread Gang Chen
Thanks for the help! Are you sure R version plays a role in this case? My R
version is 2.13.0

Your suggestion prompted me to look into the help content of ifelse, and a
similar example exists there:

 x <- c(6:-4)
 sqrt(x)  #- gives warning
 sqrt(ifelse(x >= 0, x, NA))  # no warning

 ## Note: the following also gives the warning !
 ifelse(x >= 0, sqrt(x), NA)

Based on the above example, now I have a solution for my situation:

tConvert2 <- function(tval, DF, fullDF) qt(pt(ifelse(DF>=1, tval, 0),
ifelse(DF>=1, DF, 1)), fullDF)

> tConvert2(c(2,3), c(0,12), 12)
[1] 0 3

However, I feel my solution is a little kludged. Any better idea?

Thanks,
Gang



On Thu, Jul 7, 2011 at 9:04 PM, David Winsemius wrote:

>
> On Jul 7, 2011, at 8:52 PM, David Winsemius wrote:
>
>
>> On Jul 7, 2011, at 8:47 PM, Gang Chen wrote:
>>
>>  I define the following function to convert a t-value with degrees of
>>> freedom
>>> DF to another t-value with different degrees of freedom fullDF:
>>>
>>> tConvert <- function(tval, DF, fullDF) ifelse(DF>=1, qt(pt(tval, DF),
>>> fullDF), 0)
>>>
>>> It works as expected with the following case:
>>>
>>>  tConvert(c(2,3), c(10,12), 12)

>>> [1] 1.961905 3.00
>>>
>>> However, it gives me warning for the example below although the output is
>>> still as intended:
>>>
>>>  tConvert(c(2,3), c(0,12), 12)

>>> [1] 0 3
>>> Warning message:
>>> In pt(q, df, lower.tail, log.p) : NaNs produced
>>>
>>> I'm confused about the warning especially considering the fact that the
>>> following works correctly without such warning:
>>>
>>>  tConvert(2, 0, 12)

>>> [1] 0
>>>
>>> What am I missing?
>>>
>>
>> The fact that ifelse evaluates both sides of the consequent and
>> alternative.
>>
>
> I also think you should update yur R to the most recent version since a
> current version does not issue that warning.
>
>
> --
> David Winsemius, MD
> West Hartford, CT
>
>

[[alternative HTML version deleted]]

__
R-help@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.


Re: [R] Confused about a warning message

2011-07-07 Thread David Winsemius


On Jul 7, 2011, at 8:52 PM, David Winsemius wrote:



On Jul 7, 2011, at 8:47 PM, Gang Chen wrote:

I define the following function to convert a t-value with degrees  
of freedom

DF to another t-value with different degrees of freedom fullDF:

tConvert <- function(tval, DF, fullDF) ifelse(DF>=1, qt(pt(tval, DF),
fullDF), 0)

It works as expected with the following case:


tConvert(c(2,3), c(10,12), 12)

[1] 1.961905 3.00

However, it gives me warning for the example below although the  
output is

still as intended:


tConvert(c(2,3), c(0,12), 12)

[1] 0 3
Warning message:
In pt(q, df, lower.tail, log.p) : NaNs produced

I'm confused about the warning especially considering the fact that  
the

following works correctly without such warning:


tConvert(2, 0, 12)

[1] 0

What am I missing?


The fact that ifelse evaluates both sides of the consequent and  
alternative.


I also think you should update yur R to the most recent version since  
a current version does not issue that warning.



--
David Winsemius, MD
West Hartford, CT

__
R-help@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.


[R] Confused about a warning message

2011-07-07 Thread Gang Chen
I define the following function to convert a t-value with degrees of freedom
DF to another t-value with different degrees of freedom fullDF:

tConvert <- function(tval, DF, fullDF) ifelse(DF>=1, qt(pt(tval, DF),
fullDF), 0)

It works as expected with the following case:

> tConvert(c(2,3), c(10,12), 12)
[1] 1.961905 3.00

However, it gives me warning for the example below although the output is
still as intended:

> tConvert(c(2,3), c(0,12), 12)
[1] 0 3
Warning message:
In pt(q, df, lower.tail, log.p) : NaNs produced

I'm confused about the warning especially considering the fact that the
following works correctly without such warning:

> tConvert(2, 0, 12)
[1] 0

What am I missing?

Thanks,
Gang

[[alternative HTML version deleted]]

__
R-help@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.


Re: [R] Confused about a warning message

2011-07-07 Thread David Winsemius


On Jul 7, 2011, at 8:47 PM, Gang Chen wrote:

I define the following function to convert a t-value with degrees of  
freedom

DF to another t-value with different degrees of freedom fullDF:

tConvert <- function(tval, DF, fullDF) ifelse(DF>=1, qt(pt(tval, DF),
fullDF), 0)

It works as expected with the following case:


tConvert(c(2,3), c(10,12), 12)

[1] 1.961905 3.00

However, it gives me warning for the example below although the  
output is

still as intended:


tConvert(c(2,3), c(0,12), 12)

[1] 0 3
Warning message:
In pt(q, df, lower.tail, log.p) : NaNs produced

I'm confused about the warning especially considering the fact that  
the

following works correctly without such warning:


tConvert(2, 0, 12)

[1] 0

What am I missing?


The fact that ifelse evaluates both sides of the consequent and  
alternative.




Thanks,
Gang

[[alternative HTML version deleted]]

__
R-help@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
West Hartford, CT

__
R-help@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.